多对多关系遇到的问题

57 阅读1分钟

多对多关系

多对多关系 user->user_role->role users模型

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * 获得此用户的角色。
     */
    public function roles()
    {
        return $this->belongsToMany('App\Role');
    }
}

你发现users表存在ID为13的数据 roles表里也有id为4,5的数据 然后user_role表里也存取到了 两行数据

id=1,user_id = 13,role_id= 4

id=1,user_id = 13,role_id= 5

然后你使用user=User:find(13)>roles返回null你知道为什么吗,卡了我一下午,结果就是这个老项目的laravel模型用的太老了你需要这样写user = User:find(13)->roles 返回null 你知道为什么吗,卡了我一下午,结果就是这个老项目的laravel模型用的太老了 你需要这样写user = User:find(13)->roles()->get();