我需要在User
模型中创建一个where子句,以便仅从特殊Group
中获取用户。
我有一个表group_user
,这是一个多对多表。
我需要让所有拥有群组Admin
的用户离开。
如何使用Eloquent Relationship方法过滤?
答案 0 :(得分:1)
你可以使用whereHas方法来查询你的关系;
User::whereHas('group', function($query){
$query->where('name', 'Admin');
})->get();
这将仅返回具有与其相关的组的用户,其名称为Admin。
请注意:这假设您已在User模型中设置了与该组的关系,其关系名称为group。
要设置关系,请在用户模型中使用以下内容;
public function group(){
return $this->belongsToMany('Group', 'group_user', 'user_id', 'group_id');
}
如需了解更多信息,请转到here。