Php 渴望负荷的拉威尔简单约束
我有一个用户模型,它属于一个站点。一个站点可以有多个用户 用户表Php 渴望负荷的拉威尔简单约束,php,laravel,Php,Laravel,我有一个用户模型,它属于一个站点。一个站点可以有多个用户 用户表 身份证 名字 电子邮件 公司地址id 站点表 身份证 名字 用户中的关系定义如下: public function site() { return User::belongsTo('App\CompanySite', 'company_site_id', 'id'); } 我只想将所有用户分配到一个站点(比如站点ID为1) 但是,这将返回所有用户,而不考虑他们的站点。您将获得所有用户,这就是为什么使用->get
- 身份证
- 名字
- 电子邮件
- 公司地址id
- 身份证
- 名字
public function site()
{
return User::belongsTo('App\CompanySite', 'company_site_id', 'id');
}
我只想将所有用户分配到一个站点(比如站点ID为1)
但是,这将返回所有用户,而不考虑他们的站点。您将获得所有用户,这就是为什么使用
->get()代码>
使用whereHas
方法。这将查询您的关系并仅返回具有您想要/查询的关系结果的模型
$users = User::whereHas('site', function($q)
{
$q->where('id', '=', 1);
})->get();
因此,在本例中,将返回id为1的站点的用户。完全有意义。文档在这方面有点含糊不清,因为示例读起来好像只有当关系匹配约束时才会得到模型。但是,如果我使用'with',那么它将返回所有父模型,但只返回经过筛选的中继模型。再次感谢
$users = User::whereHas('site', function($q)
{
$q->where('id', '=', 1);
})->get();