【问题标题】:Eloquent select last row of group雄辩的选择组的最后一行
【发布时间】:2016-07-01 17:57:16
【问题描述】:

我有下表:

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

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

我试过这个:

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

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

我也尝试过按 ID 升序排序,但结果相同,只是颠倒了。

感谢您的帮助。

【问题讨论】:

    标签: php mysql laravel eloquent


    【解决方案1】:

    这样解决了:

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

    【讨论】:

    • 很好的答案对我有用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    相关资源
    最近更新 更多