2017-04-13 32 views
1

我想從laravel中的數據庫中獲取數據,如下所示。通過laravel中的最小值獲取組中的數據

id | model_id | price 
1 |1 | 200 
2 |1 | 100 
3 |2 | 500 
4 |2 | 300 
5 |2 | 400 

我想要的結果爲:

id | model_id | price 
2 |1 | 200 
4 |2 | 300 

這是我的代碼:

Model::modelfilter(Input::only('model_id', 'price'))->groupBy('model_id')->havingRaw('MIN(price)')->get(); 

謝謝。

+0

只需添加一個 '位置' 條件查詢 –

+0

應該是動態的。 –

+0

您將從哪裏獲得動態值 –

回答

1

試試這個,

$results = ModelName::select(['*',DB::raw('MIN(price) as min_price')]) 
       ->groupBy('model_id') 
       ->get(); 

相關信息:https://laravel.com/docs/5.4/queries#raw-expressions

+0

我只得到min_price,我沒有收到其他數據。 –

+0

更新了答案! –

+0

我收到了這樣的數據, id | model_id |價格 1 | 1 | 200 3 | 2 | 300 價格正在取代錯誤的數據。 我想要這樣,可以做些什麼? ID | model_id |價格 1 | 1 | 200 4 | 2 | 300 –

相關問題