在 Laravel 中是否有一种 'whereDoesNotHave' 的方法来获取没有关系的记录?
我有一个查询来检查用户是否有团队,或者他们的名字是 David,但不知道如何编写此查询:
User::where(function($query){
$query->where('name', 'David')->orWhere($this->teams->count() , '<' , 1);
})
->get();
我需要这样的东西。
更新
忘了说了——关系是多对多的,用户可以有多个团队
最佳答案
您可以使用 doesntHave()
方法:
$users = User::doesntHave('teams')->orWhere('name', 'David')->get();
如果你需要“或”它,第二个参数可以让你改变它:
$users = User::where('name', 'David')->doesntHave('teams', 'or')->get();
关于laravel - 如何获得没有关系的模型记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34783514/