gpt4 book ai didi

Laravel:如何按多对多表排序?

转载 作者:行者123 更新时间:2023-12-02 10:27:53 24 4
gpt4 key购买 nike

我有 table

users
id
username

role
id
name

users_role
user_id
role_id

我有用户列表,我希望能够按用户名和 role_id 排序,我该如何做到这一点?

users
1:first
2:second
3:third

roles
1:admin
2:customer

users_role
1:1
1:2
2:2
3:2

可以按第一个用户 role_id 排序(或者对于最大 role_id -> 如果用户有角色 1 和 2,则按 2 排序)

最佳答案

首先,您需要为两个模型创建关系:用户和角色(我假设我们有三个表:usersrolesrole_user :

class User extends Model
{
public function roles() {
return $this->belongsToMany('\App\Role');
}
}

class Role extends Model
{
public function users()
{
return $this->belongsToMany('\App\User');
}
}

接下来,通过此查询,您可以获得用户和角色列表,按用户名 ASC 和 role_id DESC 排序

\App\User::with(array('roles' => function($query) {
$query->orderBy('role_id', 'DESC');
}))
->orderBy('username', 'ASC')
->get();

关于Laravel:如何按多对多表排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37784045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com