Задать вопрос
@dima_maketov
Мои тупые вопросы вносят вклад в сообщество.

Laravel. Как выстроить отношения в БД?

Добрый день!
Помогите разобраться с задачей.

Есть личный кабинет пользователя(далее - ЛКП), в нем есть товары. Это я реализовал: товар принадлежит к ЛКП.

Есть форматы товара, 3 типа: для мужчины, для женщины и для детей. Я создал таблицу в БД с этими форматами.
1 колонка - id;
2 колонка - название формата.

Теперь необходимо создать таблицу(я ее создал, но возможно вы подскажите что я сделал не так) с товарами, которые заказал пользователь.

Выглядит она так:
1)id ЛКП.
2)id товара.
3)id формата.

Вроде все правильно, но теперь не могу понять как выстроить взаимоотношения с данной таблицей.

Сейчас задача такая: в личном кабинете покупаются товары с определенным форматом и сбоку должна отображаться корзина, с выбранными товарами. Но пока не могу понять как пробраться через эти дебри отношений и получить необходимые данные, например, вывести название формата возле имени товара и фото товара. Подскажите как реализовать.

Вот что у меня сейчас:
ЛКП
public function photos()
  {
    return $this->hasMany(CartPhoto::class);
  }
  public function order()
  {
    return $this->hasMany(Order::class);
  }


Товар
public function cart()
  {
    return $this->belongsTo(PersonalCart::class);
  }
  public function order()
  {
    return $this->belongsTo(Order::class);
  }


Формат
public function order()
  {
    return $this->belongsTo(Order::class);
  }
  • Вопрос задан
  • 455 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@entermix
Выглядит она так:
1)id ЛКП.
2)id товара.
3)id формата.


Неправильно, сделайте примерно так:
users:
id, name, ...
offers:
id, name ...
offer_types
id, name, ...
orders
id, user_id ...
order_items
order_id, offer_id, type_id..
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы