@GaserV

Как связать три таблицы?

Доброй ночи. Такая ситуация. Есть таблицы: аксессуаров(products), запчасти(details), orders. Так вот, в orders есть поле product_id, где хранится id заказанного товара. Так вот. В чем трабл. С belongsToMany к products прокатывает, но к запчастям нет, т.к. нет поля detail_id. Я вот не знаю. У меня пока на уме только один вариант. Сделать таблицу заказов дополнительно под запчасти и выводить. Или же можно как-то это универсально сделать в одной? У кого какие идеи есть?)
  • Вопрос задан
  • 369 просмотров
Пригласить эксперта
Ответы на вопрос 3
@plartem
n addition to customizing the name of the joining table, you may also customize the column names of the keys on the table by passing additional arguments to the belongsToMany method. The third argument is the foreign key name of the model on which you are defining the relationship, while the fourth argument is the foreign key name of the model that you are joining to:

return $this->belongsToMany('App\Role', 'role_user', 'user_id', 'role_id');
Не оно?
Ответ написан
Комментировать
@Result007
P|-|P
Привет! Скажи пожалуйста как у тебя строится логика? Один аксессуар может быть в нескольких заказах, и так же один заказ может содержать несколько аксессуаров. Я правильно понимаю? Для такого отношения many-to-many необходимо создать новую таблицу products_orders, где будут хранится id, product_id, order_id. И для такой таблицы в Laravel делать связи belongsToMany. Если логика другая, опишите ее :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы