bizzi
@bizzi
junior php web developer

Как лучше организовать схему бд?

Всем привет!
Ситуация такая:
Есть товары, есть магазины. В разных магазинах может быть один и тот же товар, но цена будет различная.
Как лучше организовать базу в этом случае?
Мне на ум приходит сделать отдельную таблицу где будут храниться отношения товар - магазин и колонка с ценами для каждого конкретного отношения, но правильно ли это?
Приложение на php, laravel 5.1, база MySQL
Извините если вопрос глупый, но хочется услышать советы и сделать все правильно.
  • Вопрос задан
  • 563 просмотра
Решения вопроса 1
@kostik34
Я это организовывал через связи многие-ко-многим. Вам понадобятся pivot таблицы. Тут Как оптимизировать запрос на выборку в Laravel5 (многие ко многим)? я задавал вопрос. Там немного описано. Подробнее о pivot таблицах где-то видел, не могу найти.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Вопрос наполовину не понял, у вас с терминологией тяжеловато.

Мое предложение:
- таблица Магазин(id, ...);
- таблица Товар(id, ...);
- таблица ЦенаТовара(id_магазина, id_товара, цена);
Ответ написан
@Nc_Soft
В таблицу связи добавить цену
product_id / shop_id / price
Ответ написан
mr_T
@mr_T
Web-разработчик
А как это, собственно, можно сделать по-другому? Все правильно в вопросе написано. Можно только еще добавить для удобства scope, добавляющий в запрос колонку с ценами, чтобы все это более прозрачно смотрелось.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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