Я пытаюсь понять, что лучший способ сделать следующее.Laravel Eloquent - многие для многих, где для сводной таблицы
У меня есть 3 стола: пользователи, элементы и item_user.
таблицы пользователей и элементов довольно общие, id и несколько столбцов для хранения любых данных.
item_user таблица имеет следующую структуру идентификатор
item_id
user_id
user_type [1 - Владелец | 2 - Последователь | 3 - Что-то еще]
Отношения: Каждый элемент имеет 1 Владелец (тип пользователя)
Каждый элемент имеет много последователей
Каждый пользователь может владеть много Items
Каждый пользователь может следовать многие товары
Я бы подобно тому, как владелец и последователи являются таблицей «Пользователи», поэтому мне не нужно реплицировать данные пользователя. Я создал сводную таблицу item_id, user_id и user_type, чтобы сохранить эти отношения.
Итак, вопрос в том, как это сделать в Laravel Rloquent?
товара Модель выглядит следующим образом:
Модельpublic function user() {
return $this->belongsToMany('Users');
// This isn't actually correct since it belongs to only one User but not sure how to specify a where user_type = 1;
// return $this->belongsTo('User');
}
Пользователь выглядит следующим образом:
public function item() {
return $this->hasMany('Item');
}
Спасибо!