У меня есть три таблицы: пользователи, элементы и user_items. Пользователь имеет много элементов, а элемент принадлежит многим пользователям.
Таблицы:
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');
}
}
В таблице pivot (user_items) у меня есть очень важный столбец с именем "оборудованный".
У меня есть форма, где пользователи могут экипировать, снимать и бросать предметы. Эта форма имеет скрытое поле с идентификатором строки таблицы (user_items). Таким образом, когда пользователь пытается оснастить элемент, система проверяет, является ли этот элемент экипированным.
Итак, мне нужен объект со сводными данными и данными элемента, основанный на item_id из сводной таблицы, я могу отправить обработчику (где обрабатывается вся логика).
Так что мне нужно сначала получить доступ к сводной таблице, а затем получить доступ к таблице элементов.
Что-то вроде этого (не работает):
$item = User::find(1)->items->pivot->find(1);
Можно ли это сделать?