php - Laravel Spatie 获取用户角色
问题描述
模型文件
class BanUser extends Model
{
public function user()
{
return $this->belongsTo(User::class, "user_id", "id");
}
public static function getBanList()
{
$getlist = BanUser::with(['user'])
->get()
->toArray();
return $getlist;
}
}
//数据
[0] => Array
(
[id] => 3
[user_id] => 2
[created_at] => 2020-09-16T16:06:54.000000Z
[updated_at] => 2020-09-16T16:06:54.000000Z
[user] => Array
(
[id] => 2
[name] => hi
[email] => hi@gmail.com
[email_verified_at] =>
[created_at] => 2020-09-10T12:18:18.000000Z
[updated_at] => 2020-09-10T12:19:11.000000Z
)
)
上面的代码是检索所有禁止用户列表,但是每个用户都附加了一个角色,我怎样才能加入角色表以便检索每个用户的角色?我使用了 laravel spatie 权限。任何人都可以在这方面提供帮助吗?:(
解决方案
我想你可以用这个
public function user()
{
return $this->belongsTo(User::class, "user_id", "id")->with('roles');
}
这roles
是由添加的,laravel spatie
因此您可以使用它
这是角色模型https://github.com/spatie/laravel-permission/blob/master/src/Models/Role.php
您可以使用的所有可用功能 https://github.com/spatie/laravel-permission/blob/master/src/Traits/HasRoles.php
用另一种方式
public static function getBanList()
{
$getlist = BanUser::with(['user.roles']) // it will get user as well as all the roles of that user
->get()
->toArray();
return $getlist;
}
推荐阅读
- ios - 使用 pushwoosh sdk 将应用上传到应用商店的问题
- javascript - 使用 ES6 销毁对象
- java - Can I perform validation for a specific integer size using Hibernate?
- postgresql - 如何在 Postgresql 中删除所有以前缀开头的数据库
- javascript - 如何在不刷新/提交页面的情况下发送 POST 方法
- ios - 使用 urlsessiondownloadtask 从 url 下载文件后,文件未打开
- java - 无法从 HDFS 复制到 S3A
- javascript - 如何在页面上水平居中固定宽度的表格?带有自动表格的jsPDF
- python - 平均(似然)编码
- python - python中的矩阵COUNT + GROUP BY