问题标签 [laravel-permission]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Spatie/Laravel-Permissions:未定义的方法 translationEnabled() 错误
我正在使用以下库的 Laravel 项目:
- Spatie/Laravel-权限
- Laravel-背包底座,Crud
- Laravel-背包/权限管理器
每次,我尝试从管理界面创建新角色或权限时,都会收到以下错误:
调用未定义的方法 Spatie\Permission\Models\Role::translationEnabled()
我已经完成了必要的设置,但似乎无法完成这项工作。
提前致谢!
编辑:
该错误是由该视图的第 1 行上的调用触发的:
https://github.com/Laravel-Backpack/CRUD/blob/master/src/resources/views/form_content.blade.php
php - 我无法从 laravel 中的输入值中获取请求值
更新:所以我刚刚发现$request
只能得到,input name
所以我不得不更改单选框形式,以便input name
必须不同
所以我正在使用 laravel 中的角色和权限,并且我正在使用 spatie 包来获取角色和权限https://github.com/spatie/laravel-permission
,但我被困在单选框表单中。我试图让管理员可以选择更改其仪表板中的用户角色,但我从单选框获得的值始终是最后一个。
这是我的表格edit.blade.php
这是我的功能UsersController.php
现在$request
正在获取input name
而不是,value
因为名称是相同的,我无法更改它,因为它破坏了我的表单,它得到了最后一个并且它总是注册为user
php - 如何在 spatie/laravel-permission 中使用 UUID
我将ramsey/uuid
所有项目表用作主键。如何禁用自动增量并允许roles
主permissions
键可填充?我已经设法在其他桌子上做到了,但我被这两个卡住了。
php - 如何使用 spatie/laravel-permission 和 webpatser/laravel-uuid 在 Laravel 中正确实现 UUID?
我有一个 Laravel 5.7 应用程序,使用 spatie/laravel-permission 和模型的普通 ID。我想过渡到使用 UUID,并且我已经采取了 webpatser/laravel-uuid 自述文件中提到的步骤。一切都适用于我自己的模型,例如用户、模型 A、模型 B 等,并且关系似乎很好,但我似乎无法使用 Spatie 的权限使 uuid 工作。
当我想为对象分配角色(和相关权限)时,我收到以下错误。当我尝试注册用户并为他分配角色时会发生这种情况。
正如您在此图中看到的,来自 Spatie 的 role_id 作为整数传输到此查询中。现在是 342,其他情况类似于 705293
我已经在我的 /app 文件夹中相应地定义了 Uuids.php 特征,并为所有模型(包括 Permission.php 和 Role.php)添加了以下代码:
我知道这适用于任何其他模型和关系,但不适用于 Spatie 的权限,并且似乎 role_id 在内部函数中的转换方式不同(如 assignRole('') 从 36chars 字符串到其他字符串。如果我查询角色或权限我得到了正确的字符串 ID。
我可能会丢失任何东西,或者有人知道解决这个问题的方法吗?
稍后编辑:这是我对 Spatie 的原始迁移:
这是角色和权限如何存储(工作)的示例
权限也是如此。所以他们的 _id 是正确的。问题出在 Laravel 或 Spatie 中的某个地方,当尝试将角色添加到模型时,它会向数据库发送另一个值。
laravel - PermissionDoesNotExist(没有 id 1 的权限)在 spatie 权限包 Laravel 5.6
我正在使用 spatie 权限包。我想为角色分配权限。下面是我在控制器中的方法:
它向我显示异常PermissionDoesNotExist 没有带有 id 的 [permission]1
。
在此之前,相同的方法正在工作并且权限被分配给角色。但是我在 PermissionTableSeeder 中创建了一些新权限。这样做之后它不起作用。我搜索了很多试图清除缓存但这个异常没有发生任何事情。
PermissionTableSeeder.php
如何解决此错误?
提前致谢!
php - Laravel 测试 - UnauthorizedException:用户没有正确的角色
因此,我正在使用 laravel 测试,并且正在为访问用户页面进行测试,我可以在其中查看所有用户并对其进行编辑。在UsersController.php
我所做的只有管理员可以访问用户的页面。我从 spatie 插件https://github.com/spatie/laravel-permission使用的角色和权限。我已经进行了测试以检查一个简单的用户是否可以访问用户的页面,这是代码UserTest.php
这是其中的代码,UsersController.php
仅允许管理员访问它。
现在,当我尝试运行测试时,它给了我错误
Tests\Feature\UserTest::user_try_to_access_users_page Spatie\Permission\Exceptions\UnauthorizedException:用户没有正确的角色。
在这一行$response = $this->get('/users');
。
这很好,因为不让用户访问页面,但它应该给出代码 403 而不是错误。感谢您的时间。
laravel - 如何在 Spatie/permission (Laravel) 中获取具有特定权限的角色列表
我正在尝试以与获取具有特定权限的用户列表相同的方式来获取它,但是对于角色它无法正常工作
调用未定义的方法 Spatie\Permission\Models\Role::roles()
我获取具有特定角色的用户列表的方式:
我试图获得具有特定权限的角色的方式:
BadMethodCallException 调用未定义的方法 Spatie\Permission\Models\Role::roles()