Laravel 5.2 Eloquent ORM ::with 包含一个函数 where 不起作用

Laravel 5.2 Eloquent ORM ::with including a function for where does not work

我想过滤我的内容元素并在我的控制器中包含以下代码。

 public function filter ($type, $field){


    $contents = Content::with(array('user' => function($query) use ($type,$field){

        if($type != "all"){
            $query->where('type','=',$type);
        }
        if($field != 'all'){
            $query->where('field','=',$field);
        }

    }))->active()->take(50);



    return view('contents.index', compact('contents'));
}

我总是得到一个空的结果。 有人吗?

谢谢! :)

您需要在查询构建器上调用 get()...

->active()->take(50)->get();