英译中:
我可以对每个用户的角色进行排序,但无法对用户进行排序。
我也尝试过:
但是错误提示显示
理想结果应该像这样:
我会感激任何帮助。
我有两个处于多对多关系的模型。比如说用户(User)和角色(Role)。 我想根据角色中一个字段的升序/降序来对我的用户进行排序。
我的用户(User)和角色(Role)类:
class User extends Model
{
public function roles()
{
return $this->belongsToMany('App\Role','role_user');
}
class Role extends Model
{
public function users()
{
return $this->belongsToMany('App\User','role_user');
}
我可以对每个用户的角色进行排序,但无法对用户进行排序。
$query = User::with(array('roles'=> function ($query)
{
$query->select('role_name')->orderBy('role_name','asc');
}))->get();
我也尝试过:
$query = User::with(roles)->orderBy('role_name','asc')->get();
但是错误提示显示
role_name
列不存在。理想结果应该像这样:
[
{
user_id:6
roles: [
"Admin",
"Baby"
]
},
{
user_id:2
roles: [
"Baby"
]
},
{
user_id:11
roles: [
"Baby",
"Cowboy"
]
}
]
我会感激任何帮助。
map
选择角色中的所有用户。好吧,至少现在你有了解决方法。 - Bagus Tesa