在我的数据库中存储了一个名为“ advertisement”的表,其中包含以下记录:
id | code | position
1 | header1 | header
2 | header2 | header
3 | header3 | header
4 | footer1 | footer
5 | footer2 | footer
6 | banner1 | banner
7 | banner2 | banner
我只需要为每个“位置”选择一个记录。例如,输出可能是:
1 | header1 | header
5 | footer2 | footer
7 | banner2 | banner
我该如何实现?
Advertisement::where(...)->distinct()->get();
这并没有解决问题,因为考虑到所有列,而不仅仅是“位置”,它给了我独特的价值
最佳答案
尝试使用groupBy()
Advertisement::groupBy('position')->get();
关于php - Laravel从同一表中为指定的列选择3个行,每个行的值不同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39256246/