php – Laravel 5查詢關係致使「調用成員函數addEagerConstraints()on null」錯誤( 轉載)

php – Laravel 5查詢關係致使「調用成員函數addEagerConstraints()on null」錯誤

我一直在嘗試建立一個簡單的用戶管理系統,但在查詢關係時不斷遇到障礙.例如,我有用戶和角色,每當我嘗試對全部用戶及其角色進行查詢時,我都會收到錯誤消息.標題中的那個只是我遇到過的最新版本.

個人用戶和角色模型以下所示:php

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

個人遷移表中二者之間的多對多關係以下所示:html

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

而後我嘗試在控制器中獲取他們關係的全部記錄:函數

public function index() { $users = User::with('roles')->get(); return $users; }

因此我須要另外一雙眼睛告訴我這裏我缺乏什麼?this

您缺乏定義關係的方法中的return語句.他們須要返回關係定義.

更換spa

public function roles() { $this->belongsToMany('\App\Role', 'fk_user_role', 'user_id', 'role_id'); }

code

public function roles() { return $this->belongsToMany('\App\Role', 'role_user', 'user_id', 'role_id'); }
相關文章
相關標籤/搜索