Laravel中是否有'whereDoesNotHave'方法来获取没有关系的记录?
我有一个查询,检查用户是否有团队,或者他们的名字是David,但只是不知道如何编写此查询:
User::where(function($query){
$query->where('name', 'David')->orWhere($this->teams->count() , '<' , 1);
})
->get();
我需要这样的东西。
更新
忘了提 - 关系是多对多的,用户可以拥有多个团队
答案 0 :(得分:2)
答案 1 :(得分:0)
您可以使用doesntHave()
方法:
$users = User::doesntHave('teams')->orWhere('name', 'David')->get();
如果您需要&#34;或&#34;它,第二个参数让你改变它:
$users = User::where('name', 'David')->doesntHave('teams', 'or')->get();