ranta/cart-api

extended version of freshbitsweb/laravel-cart-manager for api

v1.0.0 2020-11-29 12:00 UTC

This package is auto-updated.

Last update: 2024-04-29 04:40:27 UTC


README

Installation

  1. Install the package by running this command in your terminal/cmd:
composer require ranta/cart-api
  1. Add a trait to the model(s) of cart items:
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Ranta\CartApi\Traits\CartableApi;

class Product extends Model
{
    use CartableApi;
    // ...
}

Add to cart

/**
 * Add to cart
 *
 * @return json
 */
 public function addToCart()
{
    cartApi()->setCartId(request('cartId'));
    return Product::addToCartApi(request('productId'));
}

Remove from cart

/**
 * Remove from cart
 *
 * @return json
 */
public function removeFromCart()
{
    cartApi()->setCartId(request('cartId'));
    return cartApi()->removeAt(request('cartItemIndex'));
}

Increment/decrement quantity of a cart item

/**
 * Increment cart item quantity
 *
 * @return json
 */
public function incrementCartItem()
{
    cartApi()->setCartId(request('cartId'));
    return cartApi()->incrementQuantityAt(request('cartItemIndex'));
}

/**
 * Decrement cart item quantity
 *
 * @return json
 */
public function decrementCartItem()
{
    cartApi()->setCartId(request('cartId'));
    return cartApi()->decrementQuantityAt(request('cartItemIndex'));
}

Clear cart

/**
 * Clear Cart
 *
 * @return json
 */
public function clearCart()
{
    cartApi()->setCartId(request('cartId'));
    return cartApi()->clear();
}

Get complete cart details

cartApi()->setCartId(request('cartId'));
$cart = cartApi()->toArray();