我在我的 laravel 项目中使用 space/laravel-menu 和 space/laravel-persmissions。
我已经创建了一个权限,将其分配给一个角色,并将该角色分配给我的用户。这很好用。然后我使用像这样的宏以中间件方式生成了一个菜单:
\Menu::macro('main', function () use ($request) { return \Menu::new()
->withoutWrapperTag()
->withoutParentTag()
->setActiveClassOnLink()
->route('preparation', 'Anstehende Termine')
->route('postprocessing', 'Nachbereitung')
->routeIfCan('administrate', 'protocols', 'Protokolle')
->addItemClass('nav-link')
->setActive($request->url());
});在我的应用程序中,我有两个具有不同连接的用户模型: App\User;将 connection_a 与数据库 db_a 结合使用,并将 App\DirectoryA\User;connection_b 与数据库 db_b 结合使用
在 auth 配置中,第一个被定义,并且使用Auth::user()->can('administrate')工作正常,即使在定义菜单的中间件中也是如此。
由于我已通过 添加菜单项routeIfCan,因此出现错误。它说
未找到基表或视图:1146 表 'db_b.permissions' 不存在(SQL:选择.
permissions*, .as ,model_has_permissions.asmodel_id, .as from inner join on . = . where . = 1 and . = App\User )pivot_model_idmodel_has_permissionspermission_idpivot_permission_idmodel_has_permissionsmodel_typepivot_model_typepermissionsmodel_has_permissionspermissionsidmodel_has_permissionspermission_idmodel_has_permissionsmodel_idmodel_has_permissionsmodel_type
这里出了什么问题?它应该使用App\User模型。dd()在框架抛出异常的地方放置 a向我显示正确的连接......
请帮忙。
holdtom
跃然一笑
扬帆大鱼
随时随地看视频慕课网APP