Eloquent选择组

时间:2016-07-01 17:57:17

标签: php mysql laravel eloquent

我有下表:

id  name    factory
-------------------
1   apple   1
2   orange  2
3   banana  3
4   peach   1

我想选择按其factory值分组的值,并按ID排序。 因此查询将返回橙色,香蕉和桃子(没有苹果)。

我试过这个:

$data = Fruit::groupBy('factory')->distinct()->get();

但它会返回苹果,橙子和香蕉(而不是橙子,香蕉和桃子)

我也试过按ID升序排序,但结果却相反。

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:8)

解决这个问题:

$data = Fruit::whereRaw('id IN (select MAX(id) FROM fruits GROUP BY factory)')->get();