1

我目前正在delete为我的角色开发一个功能。

每次我尝试删除时:

Class name must be a valid object or a string

我该如何解决?

4

3 回答 3

1

将此函数添加到 Role.php 模型中

<?php
namespace App;

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

希望这可以帮助!

于 2017-07-13T07:30:07.507 回答
0

@Tiến Đạo 说解决这个问题的最佳方法。但是如果你想要代码简单......

use App\User;

class Role extends EntrustRole
{
   /**
   * Many-to-Many relations with the user model.
   *
   * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
   */
   public function users()
   {
      return $this->belongsToMany(User::class);
   }
}
于 2018-03-31T07:05:45.183 回答
0

用 ,更新config/auth.php文件'model' => App\Users::class,因为vendor/zizaco/entrust/src/Entrust/Traits/EntrustRoleTrait.php指向Config::get('auth.model')$this->belongsToMany() 方法。

于 2016-12-16T19:39:06.823 回答