我试图删除一个角色
$role = Role::findOrFail(1);
$role->delete();
我收到以下错误
FatalErrorException in Model.php line 945:
Class name must be a valid object or a string
在第86行的vendor / zizaco / entrust / src / commands / MigrationCommand.php中
$usersTable = Config::get('auth.providers.users.table');
$userModel = Config::get('auth.providers.users.model');
角色模型类
namespace App\Models;
use Zizaco\Entrust\EntrustRole;
class Role extends EntrustRole
{
protected $fillable = ['name', 'display_name', 'isActive','description', 'created_at', 'updated_at'];
}
答案 0 :(得分:4)
我认为这是问题所在:
找到文件: 供应商/ zizaco /委托/ SRC /委托/性状/ EntrustRoleTrait.php
替换
第51行: ... Config::get('auth.model')
...
与
第51行: ... Config::get('auth.providers.users.model')
...
答案 1 :(得分:0)
更新核心软件包中的任何内容都是不错的做法,因为如果您更新软件包,此更改将被替换,而是通过在App\Role.php
/**
* Many-to-Many relations with the user model.
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
public function users()
{
return $this->belongsToMany(Config::get('auth.providers.users.model'), Config::get('entrust.role_user_table'),Config::get('entrust.role_foreign_key'),Config::get('entrust.user_foreign_key'));
// return $this->belongsToMany(Config::get('auth.model'), Config::get('entrust.role_user_table'));
}
答案 2 :(得分:0)
我同意@Tarunn。如果你想要代码简单....
use App\User;
/**
* Many-to-Many relations with the user model.
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
public function users()
{
return $this->belongsToMany(User::class);
}