我想从每个类别中获取一个项目。这是我的测试表:
-----------------
| id | category |
-----------------
| 1 | image |
-----------------
| 2 | link |
-----------------
| 3 | image |
-----------------
| 4 | link |
-----------------
如果我table('test')->groupBy('category')->get();
,则返回值为:
[{"id":1,"category":"image",
"id":3,"category":"image",
"id":2,"category":"link",
"id":4,"category":"link"}]
如果我table('test')->groupBy('category')->first();
,则返回:
[{"id":1,"category":"image"}]
但我想要的是每个类别的单项,如下所示:
[{"id":1,"category":"image",
"id":3,"category":"link"}]
我如何实现这一目标? (我想避免循环,因为我的表可以变得很大 - 许多类别)。谢谢!
答案 0 :(得分:1)
$cat = DB::table('test')->select('id''category')
->groupBy('category')
->get();
然后尝试dd($cat)
您将获得所需的输出:)
答案 1 :(得分:0)
测试:: GROUPBY('类别') - >得到();当然它会检索每个类别的单个记录。
检查模型名称是否为test并且表名是test,我想说跟随 laravel convention。