我正在使用以下库进行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
尝试替换备份上的默认角色和权限模型
在文件config/permission.php
中替换:
'permission' => SpatiePermissionModelsPermission::class,
to
'permission' => BackpackPermissionManagerappModelsPermission::class,
和
'role' => SpatiePermissionModelsRole::class,
to
'role' => BackpackPermissionManagerappModelsRole::class,
我解决了这个问题。在安装需要相同库的Laravel Backpack/PermissionManager之前,我已经安装了Spatie/Laravel-Permissions。然而,我对配置进行了一些更改,覆盖了导致错误的PermissionManager的配置。删除这些配置解决了问题。