0

数据库中表的结构如下:

ID 身体 用户身份 group_id
1 测试1 1 1
2 测试1 2 1
3 测试1 3 1
3 测试2 4 2
4 测试3 5 3

我想group_id在 Laravel 中使用 Eloquent/DB Facade 或 MongoDB Query 获取第一行,并使用分页:

例如:

ID 身体 用户身份 group_id
1 测试1 1 1
3 测试2 4 2
4 测试3 5 3

这是如何实现的?

4

2 回答 2

0

对于 Mongodb 使用此聚合

[
  {
    $sort:{
       group_id: 1,
       user_id:1
    }
  },
  {
    '$group': {
      '_id': {
        'group_id': '$group_id'
      }, 
      'a': {
        '$first': '$$ROOT'
      }
    }
  }
]
于 2021-08-31T07:41:22.737 回答
0

如下使用 Eloquent GroupBy,它将从同一组中获取第一条记录:

DB::table('tablename')
    ->groupBy('group_id')
    ->get();
于 2021-08-31T07:53:36.487 回答