Laravel集团由belongssto

时间:2014-11-08 15:02:10

标签: laravel-4 eloquent

我有一个问题,我不知道如何解决,

我有以下表格

OrderContents
ID
ITEM_ID
总计

物品
ID
category_id

分类
ID
GROUP_ID

ID

具有以下关系

orderContent->item()
item->caregory()
category->group()

我需要的是得到总数,但grouped by 项目,类别和组,因此我有{3}模型总结的Total

我知道如何实现第一个

  

$ total = OrderContent :: all([DB :: raw('SUM(total)as total')]) - > groupBy('item_id')

但其他人呢?

1 个答案:

答案 0 :(得分:2)

您想使用联接 -

http://laravel.com/docs/4.2/queries#joins

$total = OrderContent::join('items', 'items.id, '=', 'order_contents.item_id')
              ->join('categories', 'items.category_id', '=', 'categories.id')
              ->select([DB::raw('SUM(total) as total')])
              ->groupBy('categories.id');

希望你做任何你想做的事情或指向你正确的方向!