我目前正在为我的角色开发一个delete
函数。
每次我尝试删除时:
Class name must be a valid object or a string
我该如何解决这个问题?
将此函数添加到 Role.php 模型中
<?php
namespace App;
use IlluminateSupportFacadesConfig;
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'));
}
}
希望这有帮助!
用'model' => AppUsers::class
更新config/auth.php
文件,因为vendor/zizaco/entrust/src/Entrust/Traits/EntrustRoleTrait.php
指向 $this->belongsToMany() 方法中的Config::get('auth.model')
。
@Tiến Đạo说出了解决这个问题的最好方法。但是如果你想要代码简单....
use AppUser;
class Role extends EntrustRole
{
/**
* Many-to-Many relations with the user model.
*
* @return IlluminateDatabaseEloquentRelationsBelongsToMany
*/
public function users()
{
return $this->belongsToMany(User::class);
}
}