Как организовать хранение сложных прайсов в базе данных?

Здравствуйте. Имеется проект на Laravel. Одна из задач - формировать стоимость по формуле объем_поставки_товара*цена_за_условную_единицу. Объем поставки вводит пользователь. Цена за единицу формируется из нескольких параметров. Сложность в следующем: каждый отдельный набор опций формирует отдельную (не считаемую по формуле) стоимость.

Вопрос: как организовать модель в Laravel для хранения таких прайсов?. Я думал создать модель "Критерий", содержащую все свойства товара вместе с их id. В модели "Прайс" указать (в абстрактном варианте) id и цену. Привязку вариативности сделать через связь многие ко многим. Т.е. от клиента приходит массив из выбранных критериев, а в таблице ищется прайс, к которому относятся эти и только эти критерии.
  • Вопрос задан
  • 424 просмотра
Решения вопроса 1
@opravdin Автор вопроса
Возможно, из моего описания сложилось некорректное понимание задачи в целом. Я описал ее подробнее в комментарии к другому ответу. Сам я решил проблему через отдельную таблицу "Прайсы", где для каждого набора входных параметров (благо ветвление не очень большое) хранится значение стоимости. Часть критериев и параметров удалось упростить/формализовать/убрать, поэтому в моем случае львиная доля решения - работа над задачей, над ее пониманием и выбором подхода к решению.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Jump
@Jump
Системный администратор со стажем.
Первый раз слышу о хранении прайсов в БД.
Какой смысл?
В БД хранятся данные, а если вам нужен прайс - вы вытаскиваете нужные данные из БД и формируете прайс.

А хранить прайс это дикость какая-то.
Ну сохранили вы прайс в БД, а он через секунду стал неактуальным.
Ответ написан
Ваш ответ на вопрос

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

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