【发布时间】:2014-01-12 15:17:32
【问题描述】:
假设我有三个表(这只是一个例子):
users
user_id
username
roles
role_id
name
user_roles
user_id
role_id
primary (boolean)
以及对应的laravel模型:
class User extends Eloquent {
public function roles() {
return $this->belongsToMany('Role')->withPivot('primary');
}
}
class Role extends Eloquent {
public function users() {
return $this->belongsToMany('User')->withPivot('primary');
}
}
我想获取所有用户的列表,但返回对象中只有主要角色。 如果我使用类似的东西:
$users = User::with('roles')->find(1);
每个用户对象都会有一个与之对应的所有角色的列表。我希望此列表仅包含主要角色。有没有办法从查询中做到这一点,而不需要对 $users 数组进行后处理?
【问题讨论】:
-
您是在查询一个用户的角色还是多个用户的角色?
标签: php laravel filtering eloquent pivot-table