亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

空間/laravel-menu 和空間/laravel-persmissions 的問題

空間/laravel-menu 和空間/laravel-persmissions 的問題

PHP
holdtom 2023-04-21 13:54:42
我在我的 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.as model_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向我顯示正確的連接......請幫忙。
查看完整描述

2 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

spatie的一位成員幫助解決了這個問題:

在幕后,routeIfCan 調用 app(Gate::class)->allows($ability, $ablityArguments)。我認為 Gate 在涉及多個守衛時的行為與 Auth::user() 略有不同。我在 routeIfCan 中看不到太多空間來添加額外的 $guard 或 $connection 參數,所以我建議你使用 $menu->addIf(Auth::user()->can('administrate'), ...)反而。


查看完整回答
反對 回復 2023-04-21
?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

這意味著您的數據庫中不存在表,也許您在安裝laravel-permissionpermissions后忘記運行?php artisan migrate



查看完整回答
反對 回復 2023-04-21
  • 2 回答
  • 0 關注
  • 147 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號