Если вы хотите сохранить корзину, если, например, клиент уходит на полпути и возвращается позже (подумайте об Amazon; у меня есть вещи, которые были в моей корзине в течение нескольких месяцев, даже лет), тогда вам нужно хранитькорзина в базе данных, и пользователь должен войти в систему, чтобы это произошло.
Если это так, то вы можете просто извлечь корзину, основываясь на текущем вошедшем в систему идентификаторе пользователя (при условии, что пользователь может иметьтолько одна активная корзина одновременно).Например, вот Дейв, принесите мне корзину Дейва из БД, пожалуйста.О, у него его нет, создай новый.Подобные вещи.
Если вы хотите иметь возможность добавлять вещи в корзину анонимно, а затем превращать это в порядок, если пользователь входит в систему, вы можете сохранить корзину в сеансе, а затем, после того, какони входят в систему, извлекают ее и сохраняют в базе данных, как указано выше.
Вы также можете сделать это в любом случае, даже если пользователь вошел в систему, но, конечно, вы не сможете затем поддерживать корзину, если ониоставьте на полпути.