我想用雄辯的Laravel定義自定義中間表型號
,以獲取用戶權限我有3個表,
首先是用戶表,
二是所述權限表
第三是user_permissions
的結構非常簡單
users
-id
-name
permissions
-id
-name
user_permissions
-user_id
-permission_id
-read
-write
-update
-delete
這是顯示用戶權限的代碼:
$user = App\User::find(1)->first();
foreach($user->permissions as $permission){
echo "Read".$permission->pivot->read."<br>";
echo "Write".$permission->pivot->write."<br>";
echo "Update".$permission->pivot->update."<br>";
echo "Delete".$permission->pivot->delete."<br>";
}
這一切工作正常,當我定義的關係這樣(在用戶模式) :
public function permissions()
{
return $this->belongsToMany('App\Permission','user_permissions')->withPivot('read', 'create','update','delete');
}
但我想寫另一種方式,因爲我不想選擇我需要的字段我只是想選擇他們所有,所以當我把它寫這樣我得到一個錯誤:
public function permissions()
{
return $this->belongsToMany('App\Permission','user_permissions')->using('App\UserPermission');
}
,這是我的錯誤:
BadMethodCallException在Builder.php線2440: 調用未定義的方法照亮\數據庫\查詢\生成器::使用()
你有什麼Laravel版本? –