Let's make the cart management with Laravel a breeze.
There are a few well maintained shopping cart packages available but I wanted to have a solution which feels like the Laravel way and is more coupled with the database and provides additional functionality like shipping charges, discount, tax, total, round off, guest carts, etc. out-of-box while staying a very easy to use package.
Let us decide when this package should be used:
- You are looking for an easy to use solution which provides cart feature for users as well as guests.
- You want to make sure that the carting can work via APIs as well to support mobile applications.
- You want features like Shipping charges, tax, discount, round off, etc.
- You want to store cart data in Database, session or at a custom place.
- You like using the packages which are more like the Laravel way
- Install the package by running this command in your terminal/cmd:
composer require freshbitsweb/laravel-cart-manager
- Import config file by running this command in your terminal/cmd:
php artisan vendor:publish --tag=laravel-cart-manager-config
- Import migrations files by running these commands in your terminal/cmd:
php artisan vendor:publish --tag=laravel-cart-manager-migrations
php artisan migrate
- Add a trait to the model(s) of cart items:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Freshbitsweb\LaravelCartManager\Traits\Cartable;
class Product extends Model
{
use Cartable;
// ...
}
// Add to cart
$cart = Product::addToCart($productId);
// Remove from cart
$cart = cart()->removeAt($cartItemIndex);
// Apply discount
$cart = cart()->applyDiscount($percentage);
// Fetch cart
$cart = cart()->toArray();
The demo of the package can be found at - https://laravel-cart-manager.freshbits.in
Checkout the full documentation.
Run this command to run the tests of the package:
composer test
- Gaurav Makhecha - Initial work
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE file for details
- Laravel Community