Laravel 5.5 使用 artesaos/defender

Posted

技术标签:

【中文标题】Laravel 5.5 使用 artesaos/defender【英文标题】:Laravel 5.5 using artesaos/defender 【发布时间】:2018-03-05 01:37:07 【问题描述】:

我正在使用 laravel 5.5.* 并安装此 https://github.com/artesaos/defender 包以获得角色和权限,一切正常,但是当我尝试获得权限时

$permissions = array_map(function ($permission) 
        return $permission['name'];
    , $user->getAllPermissions()->toArray());

遇到打击错误:

"Symfony\Component\Debug\Exception\FatalThrowableError" file : H:\xampp\htdocs\LaraVueAdmin\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php" line: 147 message : "Type error: Argument 1 passed to Illuminate\Database\Eloquent\Model::__construct() must be of the type array, object given, called in H:\xampp\htdocs\LaraVueAdmin\vendor\artesaos\defender\src\Defender\Traits\Models\Permission.php on line 75"

【问题讨论】:

我找到解决方案,将github.com/artesaos/defender/blob/master/src/Defender/Traits/… 替换为return PermissionUserPivot::fromRawAttributes($parent, $attributes, $table, $exists, $using); 【参考方案1】:

Muzafar Ali 的这个解决方案对我有用:

我通过替换github.com/artesaos/defender/blob/master/src/Defender/Traits/…找到了解决方案

return PermissionUserPivot::fromRawAttributes($parent, $attributes, $table, $exists, $using);

【讨论】:

以上是关于Laravel 5.5 使用 artesaos/defender的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.5 使用 artesaos/defender

作曲家自动加载 Laravel 5.5

Laravel 会话立即过期(Laravel 5.5)

Laravel 5.5 中的多字段排序

Laravel 5.5 - Laravel Passport 使用正确的授权类型?

Uncaught ReferenceError: $ is not defined - Laravel 5.5 + Laravel Mix