IMHO, it is better to store to the DB as well as a session. Basically, a session ID with details of items in the cart, that also stores records to the DB. This way you can perhaps send 'this is still in your cart' emails etc for upsellng... And record abandoned carts etc.
You'd need garbage collection for this though. There are few packages that help with you with this. Cartalyst is worth Googling.
Bit of a crap answer, sorry, but might give you an idea in which way to go. It's a very broad question.
Sign in to participate in this thread!
The Laravel portal for problem solving, knowledge sharing and community building.
The community