我使用下面的代码从角色表中删除一条记录:
if ( $role = Role::find($id)) {
$role->delete();
return response()->json(['status' => 'success', 'message' => 'operation was successful.']);
}
但是,发生错误并且消息是:
类名必须是有效对象或字符串
我google it!,对于一些答案我不得不说config / entrust.php文件存在。
答案 0 :(得分:1)
delete()方法dos不能在Role Model上工作,在这种情况下为find删除一条记录或一个角色后找到exp Role :: whereId($ id) - > delete();为我工作,我的问题解决了。
答案 1 :(得分:1)
在角色模型中添加此方法:
use Illuminate\Support\Facades\Config;
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')
);
}