Laravel 获取没有 n 个最新条目的条目

时间:2021-06-07 12:18:34

标签: php laravel

在我的 Laravel 项目中,我想返回所有不是数据库中第 n 个最新条目的条目。

例如:我想获取所有条目而不获取最新的 n (2) 条目。

|id| name | updated_at          |
|--|------|---------------------|
|1 |a     | 2017-09-21 06:27:59 |
|2 |b     | 2017-09-19 06:20:29 |
|3 |c     | 2017-09-12 05:27:59 |
|4 |d     | 2017-09-18 05:17:39 |
|5 |e     | 2017-09-17 06:27:48 |
|6 |b     | 2017-09-19 06:27:59 |
|7 |f     | 2017-09-04 06:27:58 |
|8 |g     | 2017-09-06 06:27:14 |

预期输出

|1 |a     | 2017-09-21 06:27:59 |
|2 |b     | 2017-09-19 06:20:29 |
|3 |c     | 2017-09-12 05:27:59 |
|4 |d     | 2017-09-18 05:17:39 |
|5 |e     | 2017-09-17 06:27:48 |
|6 |b     | 2017-09-19 06:27:59

2 个答案:

答案 0 :(得分:1)

您可以按 updated_at 列降序排序,然后跳过前两个结果:

      $values = DB::table('token_users')->orderByDesc('updated_at')->skip(2)->take(DB::table('token_users')->count()-2)->get();

答案 1 :(得分:0)

如果您想使用 Eloquent 执行此操作,您可以将 takecount 结合使用以获取除最后 2 条记录之外的所有记录。

Model::take(Model::count() - 2);

我不知道您的 Eloquent Model 的名称,因此将 Model 替换为您所称的 Model