Показать сообщение отдельно
  #4 (permalink)  
Старый 15.08.2016, 10:37
Новичок на форуме
Отправить личное сообщение для art201214 Посмотреть профиль Найти все сообщения от art201214
 
Регистрация: 14.08.2016
Сообщений: 5

Сообщение от laimas Посмотреть сообщение
Товары, это учет, а значит каждый товар имеет одно уникальное свойство, по которому можно определить тот или иной товар. Таким свойством может служить артикул товара. Храня же товары в базе, поступают еще проще - первичный ключ таблицы описывающей товары, это поле с авто инкрементом, которое автоматически генерирует уникальный идентификатор товара.

Храня товары в корзине под их идентификаторами, достаточно проверить наличие ID в первичных ключах (свойствах объекта). Шерстить все свойства товаров при этом не требуется. К тому же, большой ошибкой будет хранить товары в базе по принципу - каждая запись, это товар А, но с различными свойствами. В таблице хранят основные характеристики товара, а свойства которые могут варьироваться хранят в связанных таблицах, ссылки на которые тоже идентификаторы свойств. То есть корзина по большому счету, это набор чисел.

А самое главное, это то, что хранить корзину да еще и в локальном хранилище нет никакой необходимости. Добавление товара в корзину должно производиться только с одобрения сервера. А если корзина хранится у клиента и бог знает сколько времени, то первое же к ней обращение предполагает проверку - есть ли еще ее товары в продаже.
Задача как раз таки хранить корзину в localstorage, это учебный проект, а не заказ для реального использования)
БД совсем нет и не предусматривается, only LS
Ответить с цитированием