Cartalyst Sentinel获得所有角色

时间:2015-12-16 08:14:38

标签: php cartalyst-sentinel

所以我选择了Sentinel作为我的CMS的ACL。而且我已经到了需要为用户分配角色的地步。为此,我需要获得所有可用角色的列表。但在请求时:

Role::all()

从我的模型(扩展EloquentRole)我只得到id。虽然身份证是一个良好的开端,但我还需要更多。优选:

Role::pluck('id', 'slug', 'name')

我已经搜索过高低的方法来获得这个。但是文件和世界似乎都没有说清楚。

任何提示都将不胜感激!

3 个答案:

答案 0 :(得分:0)

所以看起来我有点雄辩。似乎

Role::all()
Role::pluck(...)

确实不行。但是经常:

Role::get()

一样。 Whoopsie

答案 1 :(得分:0)

中有getRoles()个功能
cartalyst/sentinel/src/Roles/RoleableInterface.php

您可以在Laravel中使用\Sentinel::getRoles()

这个可能更简单。

$roles = Sentinel::getRoleRepository()->get();
    foreach ($roles as $role) {
        echo $role->name."<br/>";
    }

答案 2 :(得分:0)

将所有可用角色作为数组:

$roles = Sentinel::getRoleRepository()->all();

或者,如果您需要Eloquent(角色)对象:

$roles = DB::table('roles')->get();