首页 > 解决方案 > 如何在 laravel 的不同表中的两列中对两个数据求和

问题描述

我有两个表 order_list 和 menu

表 order_list

表菜单

我想将 order_list->order_qty 与 menu->menu_price 相乘

$order_list = Order::with('get_menu')->where('status','Completed')->orderBy('order_time','desc')->paginate(7);
$total = DB::table('order_list')
->leftjoin('menu','order_list.menu_id', '=', 'menu.menu_id')
->sum(DB::raw('order_list.order_qty * menu.menu_price'));

return view('admin.complete_order',['order_list' => $order_list],['total' => $total]);

我尝试使用上面的代码,但只能检索一个数据

@foreach($order_list as $ol)
<tr>
    <td>{{$loop->iteration}}</td>
    <td>{{$ol->order_name}}</td>
    <td>{{$ol->get_menu->menu_name}}</td>
    <td>{{$ol->order_qty}}</td>
    <td>{{$ol->order_time->format('D H:i')}}</td>
    <td>{{$ol->get_menu->menu_price}}</td>
    <td>
        {{$total}}
    </td>
    <td class="success"><b>{{$ol->status}}</b></td>
</tr>
@endforeach

标签: phplaraveleloquentsum

解决方案


$salepoint = collect(DB::table('users')
        ->select('users.id', DB::raw('count(DISTINCT  sale_points.vis_id) as 
        totalinvoices'), DB::raw('sum(  sale_points.subtotal) as 
        totalsale'), DB::raw('sum(  sale_points.subtotalcost) as 
        totalcost'), DB::raw('sum(  sale_points.stotal) as 
        grandtotal'), DB::raw('sum(  sale_points.dis) as totaldiscount'))
        ->join('sale_points', 'users.id', 'sale_points.saleman_id')
        ->groupBy('users.id')
        ->get()
    );

推荐阅读