在Laravel 5 / Entrust中检索特定权限的所有用户

时间:2015-09-18 16:21:25

标签: php laravel laravel-5

如何在Entrust for Laravel 5.0中检索特定权限的用户。

use App\Role;
use App\Permission;    

$permission = Permission::find(1);
$roles = $permission->roles;
$users = $roles->users;

我知道代码不起作用......只是一个例子。

2 个答案:

答案 0 :(得分:1)

尝试

$users = User::permission('edit articles')->get(); // Returns only users with the permission 'edit articles'

答案 1 :(得分:0)

感谢ntzm,我能够弄清楚如何找到有权访问权限的所有用户。不确定这是否会对任何人有所帮助。

有两种不同类型的员工可以访问权限。一个来自角色,另一个是授权给他们的方向。我还没有使用过直接的,但我确实拥有可以访问权限的角色。以下是我如何获得具有特定权限的用户:

    $permission = Permission::findByName('edit posts');

    $employees = [];

    //Loop through each role.
    foreach($permission->roles as $r){
        $emps = $r->users;

        //Cycle through the users.
        foreach($emps as $e){
            $employees[] = $e;
        }
    }

    return $employees;

希望这有助于那些也需要这个的人。 :)