首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cartalyst Sentinel获取所有角色

Cartalyst Sentinel获取所有角色
EN

Stack Overflow用户
提问于 2015-12-16 16:14:38
回答 3查看 2.6K关注 0票数 1

所以我选择了Sentinel作为我的CMS的ACL。到了需要为用户分配角色的阶段。为此,我需要获取所有可用角色的列表。但在请求时:

代码语言:javascript
复制
Role::all()

从我的模型(它扩展了EloquentRole),我只得到了id,虽然id是一个很好的开始,但我还需要更多。最好是:

代码语言:javascript
复制
Role::pluck('id', 'slug', 'name')

我上上下下寻找了一种方法来得到它。但无论是文档还是世界似乎都对此只字不提。

任何建议都将不胜感激!

EN

回答 3

Stack Overflow用户

发布于 2017-10-21 09:26:25

要获取所有可用角色作为数组,请执行以下操作:

代码语言:javascript
复制
$roles = Sentinel::getRoleRepository()->all();

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

代码语言:javascript
复制
$roles = DB::table('roles')->get();
票数 1
EN

Stack Overflow用户

发布于 2015-12-16 16:34:27

所以看起来我有点口若悬河。看起来

代码语言:javascript
复制
Role::all()
Role::pluck(...)

确实不起作用。而是一个常客:

代码语言:javascript
复制
Role::get()

确实如此。太棒了

票数 0
EN

Stack Overflow用户

发布于 2017-01-22 02:47:54

中有getRoles()函数

代码语言:javascript
复制
cartalyst/sentinel/src/Roles/RoleableInterface.php

您可以在Laravel中将其与\Sentinel::getRoles()一起使用。

这一条可能更简单。

代码语言:javascript
复制
$roles = Sentinel::getRoleRepository()->get();
    foreach ($roles as $role) {
        echo $role->name."<br/>";
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34306897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档