Laravel 5.3 委托 - 类名必须是有效的对象或字符串



我目前正在为我的角色开发一个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);
}
}

相关内容

  • 没有找到相关文章

最新更新