我想对Laravel 5.6中具有不同单位名称的采购表中的库存求和,这是我的查询:
DB::select("select brand_name,unit_name, sum(now_stock) as stock from purchases where category_id = 2 group By(unit_name)");
当我在mysql中运行它时就可以了,但是当我在laravel中使用它时会显示错误。
我要放在laravel刀片文件中
1. brand_name ...Unit_name ...Stock
2. BSRM ... ........ 1.2 .... .. ..........25
3. KSRM..............1.5...................50
如何编写此查询?
答案 0 :(得分:0)
您应该尝试这样的事情:
Purchase
模型。并使用该模型查询您的数据库。
Purchase::select([
'brand_name',
'unit_name',
'sum(now_stock) as stock',
])
->where('category_id', 2)
->groupBy('unit_name')
->get();
答案 1 :(得分:0)
使用
$purchase = DB::table('purchases')
->where('category_id',2)
->select('brand_name','unit_name',DB::raw('sum(now_stock) as stock'))
->groupBy('unit_name')
->get();
如果您有用于购买表的名为购买的模型,请使用
$purchase = Purchase::where('category_id',2)
->select('brand_name','unit_name',DB::raw('sum(now_stock) as stock'))
->groupBy('unit_name')
->get();
您必须将其传递到刀片视图以在此处进行访问。 为此,
return view('bladeviewname', ['purchases' => $purchase]);
在您看来,您可以使用like
@foreach($purchases as $purchase)
{{ $purchase->brand_name }}
{{ $purchase->unit_name }}
{{ $purchase->stock }}
@endforeach