Laravel Shopping Cart

I have searched at internet and found not much more Shopping cart class library for Laravel framework which will be very easy to manage even for a new developer.
Then i have decided to develop a very simple shopping cart library which will manage the shopping cart of my e-commerce web site.

Here it is:


A Simple Session Based Database Driven Shopping Cart Library For Laravel.

It’s Really Simple & Easy To Manage Your Shopping Cart Item At Laravel


Download The Class Library and put it to app/Http/Libraries folder

Now Load the Cart Class To your base controller

use App\Http\Libraries\Cart;

Now you’re ready to start using the shoppingcart in your application.


Add the table to your database,


The shopping cart gives you the following methods to use:

You Need to Create an Object Of the Cart Class Then

$cart = new \App\Http\Libraries\Cart();


If you want to set your rename table instead of default then just pass the name to setTable() method

Note: The Table must have the columns that are exist in default table.


Adding an item to the cart is really simple, you just use the insert() method, which accepts a variety of parameters.

In its most basic form you can specify the id, name, quantity, price of the product you’d like to add to the cart.

$data = array(
    'product_id' => 4,
    'quantity' => 5,
    'price' => 258,
    'name' => 'child dress'

As an optional fifth parameter you can pass others items information as options, so you can add multiple items with the same id, but with a different size or color etc.

$data = array(
    'product_id' => 4,
    'quantity' => 5,
    'price' => 258,
    'name' => 'child dress',
    'options' => ['size'=> 'L', 'type' => 'Silk', 'Manufacturer' => 'Cat\'s Eye']


To update an item in the cart, you’ll first need the rowId of the item.
Next you can use the update() method to update it.

If you want to update any item then pass it to array and it will replace, you’ll pass the update method the rowId and the new info of product:

$rowId = 'da39a3ee5e6b4b0d3255bfef95601890afd80709';
$data = array(  
    'quantity' => 5,    
    'name' => 'child dress',
    'options' => ['size'=> 'L', 'type' => 'Silk', 'Manufacturer' => 'Cat\'s Eye']   
$cart->update($rowId, $data);


YYou just class the getItems() method to get all cart items



To remove an item from the cart, you’ll again need the rowId. This rowId you simply pass to the removeItem() method and it will remove the item from the cart.

$rowId = 'da39a3ee5e6b4b0d3255bfef95601890afd80709';



If you want to completely remove the content of a cart, you can call the removeAllItems method on the cart. This will remove all CartItems from the cart.



The total() method can be used to get the calculated total of all items in the cart, based on there price and quantity.



If you want to know how many items there are in your cart, you can use the total_items() method. This method will return the total number of items in the cart. So if you’ve added 2 Pens and 1 umbrella, it will return 3 items.


Download the Code From My GitHub Account:


How to do Laravel sub-query inside whereIn at Query Builder

$product_tabs = DB::table('producttabs')
    ->where('parent_id', $id)
    ->whereIn('id', function($query) use ($product_id){
              ->where('product_id', $product_id);

Laravel 5.2 application download using composer & enable laravel user authentication.

The installation technique is only for Windows Machine with Xampp/Wamp Server.

1. Download & Install Composer in your local machine. Click here to download

2. Now Go to your server root directory using command prompt. (ie. C:\wamp\www)

3. run the following command

composer create-project laravel/laravel laravel

4. Your Laravel Project is now ready to browse. By Default laravel project root directory is public folder. You can Change server.php filename to index.php file thus the main project directory can be browse.

5. Lets Install Authentication Scaffolding Files. Go to your project root folder using command prompt (ie. C:\wamp\www\laravel) and run the following code

php artisan make:auth

6. Now This is the time to Create your database. You can create your database before too. create a database name as like “laravel32”

7. Connect your created database with your laravel project. You Can use .env file at project root folder to manage your database connection. lets open the file .env in your text editor and change the database connection info like below:


8. Now You have to run the migrate command to generate user table for managing authentication. This code will create user table and others dependencies tables.

php artisan migrate

9. One Task already left. Create a .htaccess file to the project root directory and copy & paste the below code in htaccess file.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /laravel/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]

10. That is it. Do a registration and login with the registered user.

11. Browse & Enjoy

Here is a sample code developed using laravel 5.2 with authentication, user management system enable. You can download from my github account.

Github link: