Если хочется хранить корзину в БД - так вам ее все равно хранить после оформления заказа.
Сделайте таблицу, где большинство полей - NULL до момента оформления заказа (цены и проч. для отображения берется с текущих карточек). Выборка текущей корзины - по order_id = NULL. Заказ оформлен - текущая корзина опустела, товары естественным порядком перекочевали в заказ.