如何在 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');
}
我正在使用这个包
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');
}