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:
- Secure card information storage and management
- Support for multiple payment gateways
- Recurring payment and subscription management
- Robust validation and error handling
- Highly customizable and flexible architecture
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.