我使用zizaco /委託包多AUTH包名稱Hesto /旁邊我laravel項目多權威性檢查角色和權限在zizaco /委託laravel包
我們對laravel 5.4項目,
我得到以下錯誤,當我想當前登錄用戶的角色和權限使用此方法: Entrust::hasRole('role-name');
或Auth::user()->hasRole('role-name');
但我CAN個接入用戶用這種方法,例如角色:
$user = User::find($userid);
dd($user->hasRole('admin')); // Return true
我嚴格遵循安裝指導,但我得到以下錯誤:
`Non-static method Zizaco\Entrust\Entrust::hasRole() should not be called statically`
我怎樣才能解決我的問題,提前 感謝
檢查'use'語句。你在使用班級還是「門面」?你想要使用外觀。 –
您可能會使用錯誤的類。你有沒有試過使用'\ Entrust :: hasRole();'。尚未測試,但解決方案是,你需要使用EntrustFacade在這裏提到:https://github.com/Zizaco/entrust/blob/master/src/Entrust/EntrustFacade.php – PaladiN
@PaladiN它適用於我,和我在'user()'方法的'vendor/zizaco/entrust/src/Entrust/Entrust.php'中獲得了當前登錄用戶的另一個問題。因爲使用'Hesto/MultiAuth'前一個返回無法檢索當前用戶,爲了解決這個問題,我改變了返回'$ this-> app-> auth-> user();'返回'Auth :: guard ('user') - > user();'但我認爲使用Entrust Fecade仍然存在問題 –