Laravel如何使用集合的结果

时间:2013-08-05 23:14:45

标签: php collections laravel

我正在使用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(),但我无法获得下一个结果的值。

我应该考虑更改查询吗?

我可以用一种方法让分配更容易吗?

由于

0 个答案:

没有答案