我在我的 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_id
model_has_permissions
permission_id
pivot_permission_id
model_has_permissions
model_type
pivot_model_type
permissions
model_has_permissions
permissions
id
model_has_permissions
permission_id
model_has_permissions
model_id
model_has_permissions
model_type
这里出了什么问题?它应该使用App\User
模型。dd()
在框架抛出异常的地方放置 a向我显示正确的连接......
请帮忙。
跃然一笑
扬帆大鱼