我一直在try 创建一个简单的用户管理系统,但在查询关系时遇到了障碍.例如,我有users和roles,每当我试图对所有用户及其角色进行查询时,都会出现一个错误.标题中的那个只是我遇到的最新的一个.
我的用户和角色模型如下所示:
class Role extends Model
{
public function users()
{
$this->belongsToMany('\App\User', 'fk_role_user', 'role_id', 'user_id');
}
}
class User extends Model
{
public function roles()
{
$this->belongsToMany('\App\Role', 'fk_user_role', 'user_id', 'role_id');
}
}
我的这两者之间多对多关系的迁移表如下所示:
public function up()
{
Schema::create('role_user', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned()->nullable(); //fk => users
$table->integer('role_id')->unsigned()->nullable(); //fk => roles
$table->foreign('fk_user_role')->references('id')->on('users')->onDelete('cascade');
$table->foreign('fk_role_user')->references('id')->on('roles')->onDelete('cascade');
});
}
然后我try 在控制器中获取所有记录及其关系:
public function index()
{
$users = User::with('roles')->get();
return $users;
}
所以我需要另一双眼睛来告诉我我错过了什么?