Как реализовать корзину на LARAVEL?
Идентификация по IP — так себе идея. Все абоненты Yota к примеру сидят за провайдерским натом, им не выдается статический IP. более того, выданный динамически периодически меняется.

Я бы наверное хранил корзину в localstorage.
Или хотя бы генерил guid и его хранил у клиента, чтобы потом идентифицировать.
Корзину надо хранить в БД, привязывать к пользователю или к идетификатор сессии пользователя, если он не авторизован.
В момент авторизации прописываем id пользователя в корзину текущей сессии.

Обязательно предусмотреть крон-команду, котрая будет удалять слишком старые корзины не привязанные к пользователям.

Часто корзина это не только набор товаров, но и какие-то более общие параметры, например промокод, поэтому лучше корзину делать из нескольких таблиц, например baskets и basket_items