A Lightweight Cart Package for Laravel

The binafy/laravel-cart package adds the ability to add shopping cart functionality to Laravel applications. It simplifies storing and managing cart items, supports storing multiple item types, and more:

Features:

From the package's documentation, here's an example of retrieving a cart for a given user and adding an item to the cart:

$cart = Cart::query()->firstOrCreate(['user_id' => $user->id]);
$cartItem = new CartItem([
    'itemable_id' => $itemable->id,
    'itemable_type' => $itemable::class,
    'quantity' => 1,
]);

$cart->items()->save($cartItem);

// Or create and store
Cart::query()->firstOrCreateWithStoreItems(
    item: $product,
    quantity: 1,
    userId: $user->id
);

This package also allows you to store multiple items in the cart, and the cart items are polymorphic model associations. You can access the underlying model associated with the CartItem using the itemable() method:

$cartItem->itemable()->first();

You can learn more about this package, get full installation instructions, and view the source code on GitHub.

Related: GetCandy E-commerce Package for Laravel


The post A Lightweight Cart Package for Laravel appeared first on Laravel News.

Join the Laravel Newsletter to get all the latest Laravel articles like this directly in your inbox.