是否可以在刀片内的数据库中添加两个整数?
为了给出一个场景,我有一个控制器来压缩orders
表的集合。
$solditems = DB::table('orders')
->where('status', 'served')
->orderBy('id')
->get();
return view('salesreports.sellingitems.index', compact('solditems'));
我在刀片中使用了这样的东西。
<table class="table table-hover">
<tr>
<th>ID</th>
<th>Item</th>
<th>Sales</th>
</tr>
<thead>
</thead>
<tbody>
@forelse($solditems as $solditem)
<tr>
<td>{{$solditem->id}}</td>
<td>{{$solditem->item}}</td>
<td>{{$solditem->subtotal}}</td>
</tr>
@empty
@endforelse
</tbody>
</table>
现在,我要做的是组合具有相同项目名称或$solditem->item
的项目,同时将小计加起来。
例如;
ID #1 Apple = 50
ID #2 Apple = 80
将成为这个;
ID #1 Apple = 130
我尝试在查询构建器上使用groupBy,因此具有相同名称的项目只会显示一次,但我在设计算法时会出现问题,并将小计加起来。
答案 0 :(得分:0)
试试这个, 这为您提供了所有项目的相同项目名称的成本总和。
$solditems = DB::table('orders')
->where('status', 'served')
->select('orders.*',DB::raw('SUM() as total'))
->groupBy('orders.item')
->orderBy('id')
->get();
答案 1 :(得分:0)
你可以利用Laravel的收集方法。您可以使用GroupBy method按产品名称创建分组子阵列,并使用Sum method的foreach返回总列的总和。