php 尚未应用特性方法角色,因为与App\User上的其他特性方法存在冲突

bttbmeg0  于 2022-12-10  发布在  PHP
关注(0)|答案(2)|浏览(139)

在我的代码中,我使用了ZizacoEntrust包进行身份验证。然后一步一步地执行ACL tutorial。当我试图运行代码时,在浏览器中会显示类似picture的错误。

错误消息:尚未应用特性方法角色,因为与App\User上的其他特性方法存在冲突

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Zizaco\Entrust\Traits\EntrustUserTrait;
use Laravel\Passport\HasApiTokens;
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable
{
    use HasApiTokens, Notifiable;
    use EntrustUserTrait;
    use HasRoles;
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];
}

我不知道这里到底发生了什么。在教程中使用了- Spatie,有一段时间我使用了zizaco。没有其他的。

ekqde3dh

ekqde3dh1#

您可以如下重命名该方法:

class User {
    use YourTrait {
        roles as protected traitRoles;
    }
}
yjghlzjz

yjghlzjz2#

如果有人在2022年遇到这个问题,我也遇到过,我收到了同样的错误,但情况是我不小心复制了use MyTrait语句。解决办法是删除复制的use语句。然而,这并没有导致任何代码破解问题。

相关问题