10
我有三個表:用戶,項目和user_items。用戶擁有多個項目,並且項目屬於多個用戶。Laravel 4雄辯樞軸表
的表格:
Users
id
username
password
Items
id
name
equipable
User_items
id
user_id
item_id
equipped
的車型:
class User extends Eloquent {
public function items()
{
return $this->belongsToMany('Item', 'user_items')
->withPivot('equipped');
}
}
class Item extends Eloquent {
public function users()
{
return $this->belongsToMany('User', 'user_items');
}
}
在樞軸(user_items)表我命名 「配備」 一個非常重要的列。
我有一個表單,用戶可以裝備,解開和扔物品。該表單具有隱藏字段,其中包含pivot(user_items)表格行ID。因此,當用戶試圖裝備物品時,系統會檢查物品是否可用。因此,我想要一個基於來自數據透視表的item_id的透視數據和項目數據的對象,我可以發送到處理程序(處理所有邏輯)。
所以我要做的是首先訪問數據透視表,然後訪問項目表。
這樣的事情(不工作):
$item = User::find(1)->items->pivot->find(1);
這是可能的嗎?
謝謝!這對我幫助很大 - 在2個小時後把我的頭從桌子上敲了出來。 –
有關更多詳細信息,請參閱http://laravel.com/docs/eloquent#working-with-pivot-tables –
:)耶!花了我一段時間才意識到我忘了「 - >樞軸」。 +1 – rofavadeka