ranta/cart-api

freshbitsweb/laravel-cart-manager的API扩展版本

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

This package is auto-updated.

Last update: 2024-09-29 06:02:48 UTC


README

安装

  1. 在终端/cmmd中运行此命令以安装包
composer require ranta/cart-api
  1. 为购物车项模型添加一个特质
<?php

namespace App;

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

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

添加到购物车

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

从购物车中移除

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

增加/减少购物车项的数量

/**
 * 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
 *
 * @return json
 */
public function clearCart()
{
    cartApi()->setCartId(request('cartId'));
    return cartApi()->clear();
}

获取完整的购物车详情

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