Я использую Laravel 5.8, PHP 7.3.3 Установленный пакет JosephSilber / bouncer для управления ролями, разрешениями и т. Д. Я попробовал это, прямо из примера, ничего особенного:
Bouncer::allow('superuser')->to('create-account'); //works, creates role 'superuser', creates ability 'create-account'
Bouncer::allow('employer')->to('create-employee'); //works
$john = App\User::where('email','john@gmail.com')->first(); //works, finds John
$john->assign('superuser'); //works, John is now a user user
$john->can('create-account'); // works, returns true
$john->can('create-employee'); // works, returns false
$boolean = $john->isAn('superuser') ; //ERROR=> array_key_exists(): The first argument should be either a string or an integer
Не уверен, почему я получаю этоошибка.Схожие проблемы с User :: whereIs ('superuser') -> get () и т. Д.
Я попытался отладить, и проблема возникает, когда следующая строка вызывается из BaseClipboard.php.Это происходит в этом вызове, до этого я могу проверить входящие параметры.
$authority->roles()->get([
'name', Models::role()->getQualifiedKeyName()
])
Однако я не мог пройти мимо этого.Ценю любую помощь.
Не могу понять, как получить чистый дамп трассировки стека.Но вот копия и вставка.Я предполагаю, что только последние несколько будут представлять интерес
ErrorException
… \ vendor \ laravel \ framework \ src \ Illuminate \ Support \ Collection.php2029
51
array_key_exists
… \ vendor \ laravel \ framework \ src \ Illuminate \ Support \ Collection.php2029
50
Подсветка \ Поддержка \ Collection offsetExists
… \ vendor \ laravel \ framework \ src \ Illuminate \ Support \ Collection.php876
49
Подсветка \ Support \ Collection get
… \ vendor \ silber \bouncer \ src \ BaseClipboard.php82
48
Silber \ Bouncer \ BaseClipboard getRolesLookup
… \ vendor \ silber \ bouncer \ src \ CachedClipboard.php234
47
Silber \ Bouncer \ CachedClipboard Silber \ Bouncer {closure}
… \ vendor \ silber \ bouncer \ src \ CachedClipboard.php248
46
Silber \ Bouncer \ CachedClipboard Sear
… \ vendor \ silber \ bouncer \ src \ CachedClipboard.php235
45
Silber \ Bouncer \ CachedClipboard getRolesLookup
… \ vendor \ silber \ bouncer \ src \ BaseClipboard.php57
44
Silber \ Bouncer \ BaseClipboard countMatchingRoles
… \ Vendor \ silber \ bouncer \ src \ BaseClipboard.php37
43
Silber \ Bouncer \ BaseClipboard checkRole
… \ vendor \ silber \ bouncer \ src \ Database \Concerns \ HasRoles.php92
42
Приложение \ Пользователь isAn
… \ rout \ web.php379
41
Приложение \Поставщики \ RouteServiceProvider {closure}
… \ vendor \ laravel \ framework \ src \ Illuminate \ Routing \ Route.php205