2014-12-03 66 views
2

我无法相对于在usersgroups表的内容进行筛选,以username问题Eager Load Constraints贪婪加载限制使用过滤器在Laravel

public function username() 
{ 
    return $this->belongsTo('User','fk_users_id')->select(['id','username']); 
} 

我曾尝试使用下面的代码,但它过滤只有users数据不是groups数据

$groups  = Groups::with(array('username' => function($query) use ($keyword) 
                 { 
                  $query->where('username', 'like', '%'.$keyword.'%'); 

                 })) 
       ->where('status',1)->paginate($paginateValue); 

任何帮助,欢迎...

+0

不应该是'array('user'=> function($ query)'?或者'用户名'是一张桌子? – lukasgeiter 2014-12-03 07:57:10

+0

'username'是一个函数 – Ronser 2014-12-03 08:22:15

回答

0

认为它应该是这样的:

Groups::with('User')->whereHas('User', function($q) use ($key){ 
$q->where('username', 'like', '%'.$key.'%'); 
})->where('status', 1)->paginate($pagVal);