购物车表栏:
'id',
'user_id',
'sp_id',
'service_id',
'dryclean',
'q_Shirt',
'q_Pant',
'q_Tie'
定价表栏:
'id'
'sp_id'
'Shirt'
'Pant'
'Tie'
两个表不都定义了任何关系。
在购物车控制器中
public function cart($sp_id, $service_id)
{
$prices = DB::table('pricings')->where('pricings.sp_id', '=', $sp_id)->get();
$cart = DB::table('carts')->where('carts.service_id', '=' , $service_id)->where('carts.sp_id','=', $sp_id)->where('user_id', '=' , auth()->id())->orderBy('id', 'desc')->take(1)->get();
return view('user.cart')->with('prices', $prices)->with('cart', $cart);
}
如何计算订单总额?
如果column dryclean的值为none,则total 0 。 否则总计
(
carts->q_Shirt*prices->Shirt +
carts->q_Pant*prices->Pant +
carts->q_Tie*prices->Tie
)
此代码仅用于了解我如何计算总数
请帮我在laravel控制器中编写代码来计算总数以及如何在视图中显示它。
答案 0 :(得分:0)
我不认为能够很好地理解你,但你可以试着这个想法。
$prices = DB::table('pricings')
->where('pricings.sp_id', '=', $sp_id)
->get();
$cart = DB::table('carts')
->where('carts.service_id', '=' , $service_id)
->where('carts.sp_id','=', $sp_id)
->where('user_id', '=' , auth()->id())
->orderBy('id', 'desc')->take(1)
->get();
$total = 0;
$prices->reduce(function($acc, $current) use ($cart, &$total) {
return $total += ($current->Shirt + $cart->q_Shirt) +
($current->Pant + $cart->q_Pant) +
($current->Tie + $cart->q_Tie);
});