namespace App\Models;
use Illuminate\Auth\Authenticatable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Foundation\Auth\Access\Authorizable;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
use Bican\Roles\Traits\HasRoleAndPermission;
use Bican\Roles\Contracts\HasRoleAndPermission as HasRoleAndPermissionContract;
class User extends Model implements
AuthenticatableContract,
AuthorizableContract,
CanResetPasswordContract,
HasRoleAndPermissionContract
{
//因为laravel自带的Authorizable中有can方法,扩展包HasRoleAndPermission中也有can方法,现在要使用扩展包的can
use Notifiable, Authenticatable, Authorizable, CanResetPassword, HasRoleAndPermission{
HasRoleAndPermission::can insteadof Authorizable; //A insteadof B 的意思是A代替B
}
结果报了个这样的错误 请问有什么办法可以解决?
Declaration of Bican\Roles\Traits\HasRoleAndPermission::is($role, $all = false) should be compatible with Illuminate\Database\Eloquent\Model::is(Illuminate\Database\Eloquent\Model $model)