Laravel 中的急切负载约束过滤器问题
Posted
技术标签:
【中文标题】Laravel 中的急切负载约束过滤器问题【英文标题】:Eager Load Constraints Filter issue in Laravel 【发布时间】:2015-01-31 16:24:06 【问题描述】:我无法使用Eager Load Constraints 在users
表中过滤groups
表相对于username
的内容
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);
欢迎任何帮助...
【问题讨论】:
不应该是array('user' => function($query)
吗?还是username
是一张桌子?
username
是一个函数
【参考方案1】:
认为应该是这样的:
Groups::with('User')->whereHas('User', function($q) use ($key)
$q->where('username', 'like', '%'.$key.'%');
)->where('status', 1)->paginate($pagVal);
【讨论】:
以上是关于Laravel 中的急切负载约束过滤器问题的主要内容,如果未能解决你的问题,请参考以下文章
在laravel [实现过滤器]中将多个表与雄辩和急切的加载一起加入