我正在使用Laravel 5.4并使用Zizaco Entrust来处理我的应用中的角色和权限,并且我试图拉出所有具有“用户”角色的用户,但它会返回此错误
(1/1)FatalErrorException
在
中找不到“角色”类HasRelationships.php(第487行)
这是我的查询
use App\User; //declare user model
$customer = User::with('roles')->get();
和我的用户模型
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Zizaco\Entrust\Traits\EntrustUserTrait;
class User extends Authenticatable
{
use EntrustUserTrait;
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'username', 'email', 'password', 'real_password', 'first_name'
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token', 'real_password'
];
public function roles()
{
return $this->belongsToMany('Role','assigned_roles');
}
}
角色模型
<?php
namespace App;
use Zizaco\Entrust\EntrustRole;
class Role extends EntrustRole
{
}
和委托配置
<?php
/**
* This file is part of Entrust,
* a role & permission management solution for Laravel.
*
* @license MIT
* @package Zizaco\Entrust
*/
return [
/*
|--------------------------------------------------------------------------
| Entrust Role Model
|--------------------------------------------------------------------------
|
| This is the Role model used by Entrust to create correct relations. Update
| the role if it is in a different namespace.
|
*/
'role' => 'App\Role',
/*
|--------------------------------------------------------------------------
| Entrust Roles Table
|--------------------------------------------------------------------------
|
| This is the roles table used by Entrust to save roles to the database.
|
*/
'roles_table' => 'roles',
/*
|--------------------------------------------------------------------------
| Application User Model
|--------------------------------------------------------------------------
|
| This is the User model used by Entrust to create correct relations.
| Update the User if it is in a different namespace.
|
*/
'user' => 'App\User',
/*
|--------------------------------------------------------------------------
| Application Users Table
|--------------------------------------------------------------------------
|
| This is the users table used by the application to save users to the
| database.
|
*/
'users_table' => 'users',
/*
|--------------------------------------------------------------------------
| Entrust Permission Model
|--------------------------------------------------------------------------
|
| This is the Permission model used by Entrust to create correct relations.
| Update the permission if it is in a different namespace.
|
*/
'permission' => 'App\Permission',
/*
|--------------------------------------------------------------------------
| Entrust Permissions Table
|--------------------------------------------------------------------------
|
| This is the permissions table used by Entrust to save permissions to the
| database.
|
*/
'permissions_table' => 'permissions',
/*
|--------------------------------------------------------------------------
| Entrust permission_role Table
|--------------------------------------------------------------------------
|
| This is the permission_role table used by Entrust to save relationship
| between permissions and roles to the database.
|
*/
'permission_role_table' => 'permission_role',
/*
|--------------------------------------------------------------------------
| Entrust role_user Table
|--------------------------------------------------------------------------
|
| This is the role_user table used by Entrust to save assigned roles to the
| database.
|
*/
'role_user_table' => 'role_user',
];
任何想法,请帮忙吗?
答案 0 :(得分:0)
确保包中包含composer.json
条目。
检查服务提供商是否已注册。
然后,通过运行:
重新生成自动加载类映射composer dump-autoload