【发布时间】:2016-11-22 10:51:14
【问题描述】:
我目前正在为我的角色开发一个delete 函数。
每次我尝试删除时:
Class name must be a valid object or a string
我该如何解决这个问题?
【问题讨论】:
我目前正在为我的角色开发一个delete 函数。
每次我尝试删除时:
Class name must be a valid object or a string
我该如何解决这个问题?
【问题讨论】:
将此函数添加到 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'));
}
}
希望这会有所帮助!
【讨论】:
用'model' => App\Users::class 更新config/auth.php 文件,因为vendor/zizaco/entrust/src/Entrust/Traits/EntrustRoleTrait.php 在$this->belongsToMany() 方法中指向Config::get('auth.model')。
【讨论】:
@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);
}
}
【讨论】: