如何在 Laravel 中减去或提取购物车数量

how to substract or abstract cart qty in Laravel

我正在使用这个包 gloudemans/shoppingcart
现在我有这样的按钮

我已经创建了 2 条路线 cartqtyminus 和 cartqtyplus
如何使用这些按钮更新购物车 按钮有 href 标签

我只是为了 plus

这样做
 $rowId = $cart;
        $product = Cart::get($rowId);
        $productqty = $product->qty;
        $updateqty = $productqty+1;
        Cart::update($rowId, $updateqty);
        return Redirect::back()->with('status', 'update Success');

减去

 $rowId = $cart;
        $product = Cart::get($rowId);
        $productqty = $product->qty;
        $updateqty = $productqty-1;
        Cart::update($rowId, $updateqty);
        return Redirect::back()->with('status', 'update Success');

只需使用 increment()decrement() 方法即可做到这一点。

Cart::class 是您的模型,因此您可以:

Cart::findOrFail(ID)->increment('points')Cart::findOrFail(ID)->decrement('points')

Laravel documentation 阅读更多内容。

现在制作发送 PATCH 表单(带有 type 字段)到以下路由的按钮:

Route::patch('{cart}/vote', ['as' => 'cart.vote', 'uses' => 'YourController@vote]);

在你的控制器中你可以制作方法:

public function vote(Cart $cart)
{
    request()->get('type') === 'up' ? $cart->increment('points') : $cart->decrement('points');

    return redirect()->route('your.main.route');
}