在我的 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
答案 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 执行此操作,您可以将 take
与 count
结合使用以获取除最后 2 条记录之外的所有记录。
Model::take(Model::count() - 2);
我不知道您的 Eloquent Model
的名称,因此将 Model
替换为您所称的 Model
。