2

我正在尝试删除角色

$role = Role::findOrFail(1);
$role->delete();

我收到以下错误

FatalErrorException in Model.php line 945:
Class name must be a valid object or a string

在第 86 行的 vendor/zizaco/entrust/src/commands/MigrationCommand.php 中

$usersTable  = Config::get('auth.providers.users.table');
$userModel   = Config::get('auth.providers.users.model');

榜样班

namespace App\Models;

use Zizaco\Entrust\EntrustRole;

class Role extends EntrustRole
{
       protected $fillable =  ['name', 'display_name', 'isActive','description', 'created_at', 'updated_at'];

}
4

3 回答 3

4

我认为这是问题所在:

找到文件:vendor/zizaco/entrust/src/Entrust/Traits/EntrustRoleTrait.php

代替

第 51 行Config::get('auth.model'): ……

第 51 行Config::get('auth.providers.users.model'):……

于 2016-06-21T18:09:28.300 回答
0

更新核心包中的任何内容都不是一个好习惯,因为如果您更新包,此更改将被替换,而是通过在您的App\Role.php

/**
 * Many-to-Many relations with the user model.
 *
 * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
 */
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'));
   // return $this->belongsToMany(Config::get('auth.model'), Config::get('entrust.role_user_table'));
}
于 2016-08-31T07:33:13.567 回答
0

我同意@Tarunn。如果你想要代码简单......

use App\User;

/**
* Many-to-Many relations with the user model.
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/

public function users()
{
   return $this->belongsToMany(User::class);
}
于 2018-03-31T06:58:40.570 回答