Laravel强制删除失败
我有自己的榜样Laravel强制删除失败
class Role extends EntrustRole
{
public function permissions()
{
return $this->belongsToMany('App\Permission', Config::get('entrust::permission_role_table'));
}
}
现在我想删除了一定的作用
$role = Role::where("display_name",'=', $request->route("role"))->first();
$role->delete() //fails
$role->forceDelete() //also fails
以上返回一个错误
message www/html/laravel/keybrands/vendor/laravel/framework/ src/Illuminate/Database/Eloquent/Concerns/HasRelationships.php"
"Class name must be a valid object or a string"
的权限模型位于App名称空间中。
我哪里可能出错?
试试这样说:
class Role extends EntrustRole
{
public function permissions()
{
return $this->belongsToMany(Permission::class, config('entrust::permission_role_table'));
}
}
stil返回相同的错误 –
请在共享权限模型代码 –
经过无数次调试后错误是由委托特质引起的。我不得不在现在的角色模型中添加用户关系。 –
检查的堆栈跟踪显示错误由委托特性所引起。
我管理顶部通过添加到角色模型解决此问题。
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'));
}
显示的作用模式 – Vikash
@Vikash的示范作用是在问题 –
“*如果可能我是想错了*”。错误:“*类名称必须是有效的对象或字符串*”。关键字:**班级名称**。你在你给我们的代码中使用了哪些类名?在'belongsMany'方法中。所以,有你的调试101(也有整个错误堆栈跟踪,可以给你这个特定的行,使用它)。 – Mjh