Laravel查询构建器-如何按关系字段过滤

时间:2018-06-25 14:01:37

标签: laravel

举例来说,我有以下内容,其中为每个戴着帽子的人建立了关系。

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

如何过滤结果,只给那些戴着红色帽子的人?

我尝试过

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

...但是到目前为止还没有运气。

欢呼

1 个答案:

答案 0 :(得分:3)

使用whereHas()

$people = People::whereHas('hat', function($query) {
    $query->where('colour', 'red');
})->get();