2014-11-08 55 views
0

我有一個問題,我不知道如何解決,Laravel組由屬於關聯

我有以下表

OrderContents
ID
ITEM_ID

Item
id
CATEGORY_ID

類別
ID
GROUP_ID

集團 ID

用下面的關係

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

我需要什麼,是爲了得到總,但grouped by個 項目,類別和組,所以我必須由這3個模型總結了Total

我知道如何實現第一個

$ TOTAL = OrderContent ::所有([DB ::生('SUM(total)as total')]) - > groupBy('item_id')

但是其他的呢?

回答

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'); 

希望,要麼你想要做或點你在正確的direciton什麼!

+0

謝謝!它真的會幫助我:)我試圖用eqger loadongs來做,我沒有運氣..我會嘗試這種方式,但它definetilly有道理 – 2014-11-09 09:25:14