所以我选择了 Sentinel 作为我的 CMS 的 ACL。我已经到了需要为用户分配角色的地步。为此,我需要获取所有可用角色的列表。但是在请求时:
Role::all()
从我的模型(扩展了 EloquentRole)中,我只得到了 id。虽然 id 是一个好的开始,但我需要更多。最好:
Role::pluck('id', 'slug', 'name')
我一直在寻找一种方法来获得这个。但是文档和世界似乎都没有对此发表意见。
任何提示将非常感谢!
所以我选择了 Sentinel 作为我的 CMS 的 ACL。我已经到了需要为用户分配角色的地步。为此,我需要获取所有可用角色的列表。但是在请求时:
Role::all()
从我的模型(扩展了 EloquentRole)中,我只得到了 id。虽然 id 是一个好的开始,但我需要更多。最好:
Role::pluck('id', 'slug', 'name')
我一直在寻找一种方法来获得这个。但是文档和世界似乎都没有对此发表意见。
任何提示将非常感谢!
将所有可用角色作为数组获取:
$roles = Sentinel::getRoleRepository()->all();
或者,如果您需要 Eloquent(Role) 对象:
$roles = DB::table('roles')->get();
所以看起来我有点雄辩。它似乎
Role::all()
Role::pluck(...)
确实不行。但是一个常规的:
Role::get()
做。哎呀
里面有getRoles()
功能
cartalyst/sentinel/src/Roles/RoleableInterface.php
\Sentinel::getRoles()
你可以在 Laravel中使用它。
这个可能更简单。
$roles = Sentinel::getRoleRepository()->get();
foreach ($roles as $role) {
echo $role->name."<br/>";
}