通过在laravel中具有最小值来从组中获取数据

时间:2017-04-13 05:13:21

标签: 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();

谢谢。

1 个答案:

答案 0 :(得分:2)

试试这个,

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

供参考:https://laravel.com/docs/5.4/queries#raw-expressions