Laravel Eloquent获取关系数据为空的结果

时间:2017-08-03 12:49:36

标签: laravel eloquent

我有两个模型UserOwner,有很多关系

我想只提取那些没有拥有者的用户

我怎样才能使用雄辩的

我试过

$query = User::whereHas('userOwners', function ( $subquery ){
                $subquery->whereNull('owner_id');                            
            })->get();

但没有工作。

3 个答案:

答案 0 :(得分:8)

Eloquent有办法查询缺席关系,在你的情况下它应该像这样工作:

$query = User::doesntHave('userOwners')->get();

答案 1 :(得分:0)

 User::with('userOwners')
        ->whereHas('userOwners', function ($query) {
            $query->wherehas('owner_id');
        })
        ->where('user_status', 1)->get();

在要过滤用户的位置使用第二个

如果要根据所有者进行过滤,请先使用

答案 2 :(得分:-1)

我认为你应该改变你的查询:

$query = User::whereHas('userOwners')->get();

希望这对你有用!!!