Конструктор запросов Laravel - как фильтровать по полю отношений - PullRequest
0 голосов
/ 25 июня 2018

В качестве примера, скажем, у меня есть следующее, где для каждого человека, имеющего одну шляпу, установлены отношения.

$people = People::join('hat')->get();

Как мне отфильтровать результаты, чтобы дать мне только людей, чьи шляпы красные?

Я пытался,

$people = People::join('hat')
    ->where('hat.colour', 'red')
    ->get();    

... но пока не повезло.

Приветствия

1 Ответ

0 голосов
/ 25 июня 2018

Использование whereHas():

$people = People::whereHas('hat', function($query) {
    $query->where('colour', 'red');
})->get(); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...