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