我正在使用laravel 4来查询数据库,我不确定如何有效地使用结果。因此,我希望能够按类型为每次销售添加总计,并将每种类型分配给产品类型唯一的变量。
我的查询如下:
$sales_group = DB::table('items')
->select(DB::raw("products.type, sum(items.sub_total) as sub_total"))
->join('products','products.id','=','items.product_id')
->where('invoice_id','=',$receipt->invoice_id)
->groupBy('products.type')
->get();
产品列表,产品和物品表是附在销售发票上的物品/产品。
这,根据发票会创建一个集合?包含产品类型以及与该发票中的产品类型匹配的所有销售总额。
该集合具有以下结构:
array (size=2)
0 =>
object(stdClass)[683]
public 'type' => string 'Buggy' (length=5)
public 'sub_total' => string '20.00' (length=5)
1 =>
object(stdClass)[684]
public 'type' => string 'Green Fee' (length=9)
public 'sub_total' => string '54.00' (length=5)
然后,我想将每个结果分配给变量,以便稍后使用,例如变量$buggy
和$greenFee
我该如何有效地做到这一点?我试图在集合中使用where()
,例如:
$greenFees = $sales_group->where('type','=','Green Fee')
->first();
我从原始查询中删除了get()
,但我无法获得下一个结果的值。
我应该考虑更改查询吗?
我可以用一种方法让分配更容易吗?
由于