Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 08.08.2017 11:27:11

Как получить данные из одной таблицы искодя из условия другой?

Laravel 5.4, php 7.1
Здравствуйте, у меня есть 5 таблиц: Типы, роли, типы_статьи, роли_статьи и статьи. Как написать условие так, чтобы статьи выбирались только если и тип равен типу статьи и роль равна роли статьи? Связь многие ко многим.

Не в сети

#2 08.08.2017 11:53:34

Re: Как получить данные из одной таблицы искодя из условия другой?

Если связи определены правильно (многие ко многим), то whereHas сделает то, что нужно:

Article::whereHas('roles', function ($q) use ($roleId) {
        $q->where('id', $roleId);
    })
    ->whereHas('types', function ($q) use ($typeId) {
        $q->where('id', $typeId);
    })
    ->get();

Изменено AlexeyMezenin (08.08.2017 11:56:48)

Не в сети

#3 08.08.2017 12:13:53

Re: Как получить данные из одной таблицы искодя из условия другой?

Спасибо большое, очень помогли.

Не в сети

Подвал раздела