委托delete()错误类名必须是有效对象或字符串

时间:2016-11-16 12:00:10

标签: php entrust

我使用下面的代码从角色表中删除一条记录:

if ( $role = Role::find($id)) {
    $role->delete();

    return response()->json(['status' => 'success', 'message' => 'operation was successful.']);
}

但是,发生错误并且消息是:

类名必须是有效对象或字符串

我google it!,对于一些答案我不得不说config / entrust.php文件存在。

2 个答案:

答案 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')
    );
}