Laravel/Eloquent哪里有关系的所有项目?

jam*_*mpw 4 php laravel eloquent

模特歌曲和作家

而且我想查询歌曲,这样我只会收到所有作家都有某个字段的歌曲,我的解决方案是什么?

Laravel whereHas功能将获得所有至少有一个具有该字段的作者的歌曲,就像这样.

Song::whereHas('writers', function($query){
    $query->where('writerField', '=', true);
});
Run Code Online (Sandbox Code Playgroud)

但是,确保所有与一首歌有关的作家都将'writerField'设置为true 是纯粹的雄辩方式?

Jos*_*ber 7

反转约束,并将所需的计数传递给whereHas方法:

Song::whereHas('writers', function() {
    $query->where('writerField', false);
}, '=', 0);
Run Code Online (Sandbox Code Playgroud)