mysql计算订单总金额_laravel 怎么实现计算订单总金额

前端:

全选产品详情单价数量金额删除

@foreach($cartItems as $item)

productSku->on_slae ? 'checked' : 'disabled' }}>

Product

{{ $item->productSku->product->title }}

productSku->product->on_sale) class="not_on_sale" @endif>

{{ $item->productSku->title }}

@if(!$item->productSku->product->on_sale)

该商品已下架

@endif

¥{{ $item->productSku->price }}

productSku->product->on_sale) disabled @endif name="amount" value="{{ $item->amount }}">

¥{{ $item->productSku->price }}

@endforeach

控制器:

class CartController extends Controller

{

//购物车列表

public function index(Request $request)

{

$cartItems = $request->user()->cartItems()->with(['productSku.product'])->get();

return view('carts.index',compact('cartItems'));

}

//购物车

public function add(AddCartRequest $request)

{

$user = $request->user();

$skuId = $request->input('sku_id');

$amount = $request->input('amount');

// 从数据库中查询该商品是否已经在购物车中

if ($cart = $user->cartItems()->where('product_sku_id', $skuId)->first()) {

// 如果存在则直接叠加商品数量

$cart->update([

'amount' => $cart->amount + $amount,

]);

} else {

// 否则创建一个新的购物车记录

$cart = new CartItem(['amount' => $amount]);

$cart->user()->associate($user);

$cart->productSku()->associate($skuId);

$cart->save();

}

return [];

}

}

目前数据库:

public function up()

{

Schema::create('cart_items', function (Blueprint $table) {

$table->increments('id');

$table->unsignedInteger('user_id')->comment('所属用户ID');

//这里的 user_id是 users,并且做了级联删除, 一旦删除了用户,所关联的用户内容也会删除.

$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

$table->unsignedInteger('product_sku_id')->comment('商品 SKU ID');

$table->foreign('product_sku_id')->references('id')->on('product_skus')->onDelete('cascade');

$table->unsignedInteger('amount')->comment('商品数量');

//$table->timestamps();

});

效果:

fa39773c8c9d92936bd68c42f78c5902.png

是不是需要在数据库增加字段--》再到控制器写相应的方法才可以;或者有没有其他更好的办法,有的请帮忙贴下,谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值