Сайт на Laravel. Как создать систему скидок на товары?

В настоящее время работаю над созданием интернет-магазина на Laravel. Решаю задачу над созданием системы скидок на товары. В настоящее время, для хранения данных то цене товара таблице “products” с товаром базы данных созданы поля:
$table->decimal('base_price', 10, 2, true)->default(0);
$table->decimal('price', 10, 2, true)->default(0);
$table->string('currency')->default('RUB');

Запланировано создание для товаров трех типов скидок:
  • Скидка на товары в процентах от базовой цены
  • Фиксированная сумма скидки
  • Установить цену на товар со скидки

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

Прошу совета у сообщества, как наиболее рационально организовать систему расчета скидок на сайте?
  • Вопрос задан
  • 413 просмотров
Пригласить эксперта
Ответы на вопрос 3
Комментировать
anton_reut
@anton_reut
Начинающий веб-разработчик
Конечно отдельные таблицы в базе и отдельные сущности скидок, а дальше "многие ко многим" и так далее.
Ответ написан
Комментировать
Sanes
@Sanes
Наверное было бы логичней использовать unsignedDecimal
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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