所以我选择了Sentinel作为我的CMS的ACL。而且我已经到了需要为用户分配角色的地步。为此,我需要获得所有可用角色的列表。但在请求时:
Role::all()
从我的模型(扩展EloquentRole)我只得到id。虽然身份证是一个良好的开端,但我还需要更多。优选:
Role::pluck('id', 'slug', 'name')
我已经搜索过高低的方法来获得这个。但是文件和世界似乎都没有说清楚。
任何提示都将不胜感激!
答案 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();