Illuminate \ Database \ Eloquent \ Model :: is()声明必须与Bican \ Roles \ Contracts \ HasRoleAndPermission :: is兼容($ role,$ all = false)

时间:2016-09-10 17:37:04

标签: laravel laravel-5.3

我无法将用户附加到该角色;

这是我的用户模型##

>use Illuminate\Auth\Authenticatable;
>use Bican\Roles\Traits\HasRoleAndPermission;

>use Bican\Roles\Contracts\HasRoleAndPermission as HasRoleAndPermissions;
>use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
>use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
>use Illuminate\Auth\Passwords\CanResetPassword;
>use Illuminate\Database\Eloquent\Model;
>use Illuminate\Database\Eloquent\SoftDeletes;
>use Illuminate\Notifications\Notifiable;

>class User extends Model implements AuthenticatableContract, >CanResetPasswordContract, HasRoleAndPermissions
>{
 >   use Authenticatable, CanResetPassword, HasRoleAndPermission, Notifiable;

3 个答案:

答案 0 :(得分:1)

我想有一个 is()  函数在核心Model类本身与您的接口冲突。或者它可能显示错误,因为您没有在实现中包含任何参数 is($role, $all)  用户模型中的方法。

答案 1 :(得分:0)

我在Laravel 5.3中遇到了同样的问题,然后我将is()方法更改为isRole()。请关注存储库link并更改所有文件。

答案 2 :(得分:0)

使用此步骤解决此问题:

第一步: 将VCS Repo添加到您的composer.json “存储库”:[ { "type": "vcs", "url": "https://github.com/nikolaynesov/roles.git" } ]

第二步: composer.json 中更改软件包的版本

“bican / roles”:“dev-master”, Roman Bincan issue solved