Я успешно создал простое веб-приложение с тележкой.
Теперь мне нужно реализовать несколько специальных предложений.
Пример 1: если покупатель добавил 2 штуки какого-то товара - вторая должна стоить на 30% меньше.
Пример 2: если покупатель добавляет product_1 и product_2 - мне нужно добавить продукт 3 бесплатно.
Нет проблем с реализацией самой бизнес-логики.
Проблема в том, что у меня нет подробной информации о продукте в корзине Codeigniter.
В объекте / массиве элемента есть поля id
, name
, qty
, price
, subtotal
и options
.
Чтобы пересчитывать цены без запроса базы данных при каждом изменении корзины, мне нужны дополнительные поля, например группа / категория, которые сообщают мне, какое специальное предложение применимо к этому продукту.
Кроме того, мне нужно где-то хранить базовую цену, потому что, когда покупатель удалит какой-то товар из корзины, мне нужно будет указать старые цены.
Где мне разместить эту дополнительную информацию?
options
поле уже используется ...
Я не хочу запрашивать базу данных при каждом обновлении корзины (я хочу, чтобы мое веб-приложение было очень быстрым, и мне нужна минимальная нагрузка на сервер).
Могу ли я ожидать проблем с этими rowid
, когда я изменю цену на какой-либо товар в корзине?
Я спрашиваю об этом, потому что уникальный 'rowid' корзины - это контрольная сумма md5 элементов id
и options
массива. Мое приложение будет использовать разные цены на один и тот же продукт с одинаковыми опциями (например, одна обычная цена, другая - 70%).