laravel - Spatie Laravel 权限 - 如何获取具有一个角色或另一个角色的用户

标签 laravel laravel-permission

我想弄清楚是否有一种简单的方法来获取所有具有角色或其他角色的用户。
在 Spatie Laravel Permissions 的官方文档中,我找不到这个。

我正在尝试这样,但我得到了所有用户。

User::role(['Individual', 'Organisation', 'Venue'])->get();

我也在这样尝试:

User::whereHas("roles", function($q) {
                $q->orWhere(function ($query) {
                    $query->where("name", "Individual")
                        ->where("name", "Venue")
                        ->where("name", "Organisation");
                });
            })->get();

在 Db 角色表中我有:

enter image description here

最佳答案

你可以试试whereIn()roles()引用链接 https://laravel.com/docs/8.x/queries#additional-where-clauses

User::with("roles")->whereHas("roles", function($q) {
    $q->whereIn("name", ["Individual","Venue",'Organisation']);
})->get();

尝试使用 id 进行更好的搜索,因为它是主键

User::with("roles")->whereHas("roles", function($q) {
    $q->whereIn("id", [6,7,8]);
})->get();

NOTE here name should match exact string of roles name which in your database

关于laravel - Spatie Laravel 权限 - 如何获取具有一个角色或另一个角色的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64658911/

相关文章:

Laravel 如何重定向回引导模式对话框窗口

php - 如何解决此Laravel问题- “/tmp/phpY14gRo”文件不存在或不可读?

laravel - 在 Laravel 5.7 中使用 Google reCaptcha v3

php - 有没有办法将 PHP 类导入 Blade 模板并在子模板中使用它们?

php - Laravel 重新播种表格

php - 从 iframe 内部发布时的 Laravel TokenMismatchExpection

php - 如何在 spatie 权限包中列出所有具有权限的角色?

laravel - 允许某些角色访问 Laravel Nova 仪表板?

laravel - 添加和撤销具有特定角色的特定用户的权限

laravel - 如何将 Spatie 的 laravel 权限与 JetStream 正确集成?