关系中的 Where 子句
Where Clause in Relationship
我需要在 User
模型中创建一个 where 子句,以便仅从特殊的 Group
.
中获取用户
我有 table group_user
,这是一个多对多 table。
我需要取出组 Admin
的所有用户。
如何使用 Eloquent 关系方法对其进行过滤?
您可以像这样使用whereHas方法查询您的关系;
User::whereHas('group', function($query){
$query->where('name', 'Admin');
})->get();
这将 return 只有拥有与他们相关的组的用户,名称为 Admin。
请注意:这假设您已经在用户模型中设置了与组的关系,关系名称为组。
要建立关系,请在您的用户模型中使用以下内容;
public function group(){
return $this->belongsToMany('Group', 'group_user', 'user_id', 'group_id');
}
有关更多信息,请访问 here。
我需要在 User
模型中创建一个 where 子句,以便仅从特殊的 Group
.
我有 table group_user
,这是一个多对多 table。
我需要取出组 Admin
的所有用户。
如何使用 Eloquent 关系方法对其进行过滤?
您可以像这样使用whereHas方法查询您的关系;
User::whereHas('group', function($query){
$query->where('name', 'Admin');
})->get();
这将 return 只有拥有与他们相关的组的用户,名称为 Admin。
请注意:这假设您已经在用户模型中设置了与组的关系,关系名称为组。
要建立关系,请在您的用户模型中使用以下内容;
public function group(){
return $this->belongsToMany('Group', 'group_user', 'user_id', 'group_id');
}
有关更多信息,请访问 here。