Rails获取特定ID后的记录

卡梅伦

在我的应用程序中,因为记录创建频繁,所以我不想使用标准的分页机制,因为记录并不总是在同一页面上(今天在第2页上的记录,明天可能在第3页上)。相反,我要执行的操作是在特定ID之后请求记录。

假设我的帖子表中有100条记录,范围从ID 1-100,一次显示10条记录。

我要使用的params[:after]是该ID之后的请求帖子。

因此,如果有,params[:after] == 10我想获取记录11-21(尽管可能不存在21条记录,所以实际上是从ID开始按created_at顺序排列的表中有10条记录desc

在我的控制器中,我有类似以下内容:

if params[:after].present?
  start_id = params[:after]
  end_id = start_id+10
  @posts = Post.where(:id => start_id..end_id).order('created_at desc').limit(10)
else
  @posts = Post.order('created_at desc').limit(10)
end

我的问题是end_id会返回,start_id+10但是在数据库中接下来的10条记录ID可能不是,所以我最终会得到不正确的ID。

因此,理想情况下,我需要知道此帖子的第10个帖子的ID是什么。我怎样才能做到这一点?

止痛药

如果params[:after]给出的话,我将执行以下操作:

Post.where('table_name.id > ?', start).order('id desc').limit(10)

如果您不对created_at作弊,则created_atid的顺序应该相同,并且列中的排序要快得多id(它具有数字索引和类似的索引)

在开始条件中包括表名是可选的,但在要联接多个表的情况下将帮助您避免模棱两可的SQL。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从ID数组获取所有Rails记录

来自分类Dev

如何获取具有特定ID的记录?

来自分类Dev

如何从从日期算起的特定ID获取记录?

来自分类Dev

如何获取特定ID的最后插入记录?

来自分类Dev

在ModelViewSet中创建后,获取Django记录的ID

来自分类Dev

插入后在Entity Framework 5中获取记录ID

来自分类Dev

Rails 4-如何根据条件获取特定记录

来自分类Dev

Rails-获取与特定工作日匹配的记录

来自分类Dev

从Rails中的活动记录中获取特定的列值

来自分类Dev

获取与特定ID没有关系的记录

来自分类Dev

点击图片时如何获取特定记录的ID

来自分类Dev

如何获取数据库中特定ID的记录数量?

来自分类Dev

根据特定列排序后如何获取除前5条记录以外的所有记录

来自分类Dev

获取特定记录

来自分类Dev

根据特定的关联列获取唯一记录 - rails 活动记录关联

来自分类Dev

如何使用 Eloquent 获取最后 9 条记录但排除具有特定 ID 的记录?

来自分类Dev

Rails:强制特定于新记录的ID(或更改现有ID)

来自分类Dev

Rails销毁记录后能否获得下一个ID?

来自分类Dev

在滚动总和后,从每个材料ID获取每个月的最新记录

来自分类Dev

表单提交后,从上次记录的数据库中获取ID

来自分类Dev

获取特定类型的最新记录

来自分类Dev

从循环记录中获取记录ID

来自分类Dev

如何获取插入记录的ID?

来自分类Dev

获取重复行的记录 ID

来自分类Dev

Rails 3如何在after_create中获取当前记录ID

来自分类Dev

Rails 3如何在after_create中获取当前记录ID

来自分类Dev

如何使用Angular AjAX获取具有特定ID的JSON记录?

来自分类Dev

如何在填充的对象中获取由特定许可证ID创建的记录?

来自分类Dev

从Indexeddb获取特定ID

Related 相关文章

  1. 1

    从ID数组获取所有Rails记录

  2. 2

    如何获取具有特定ID的记录?

  3. 3

    如何从从日期算起的特定ID获取记录?

  4. 4

    如何获取特定ID的最后插入记录?

  5. 5

    在ModelViewSet中创建后,获取Django记录的ID

  6. 6

    插入后在Entity Framework 5中获取记录ID

  7. 7

    Rails 4-如何根据条件获取特定记录

  8. 8

    Rails-获取与特定工作日匹配的记录

  9. 9

    从Rails中的活动记录中获取特定的列值

  10. 10

    获取与特定ID没有关系的记录

  11. 11

    点击图片时如何获取特定记录的ID

  12. 12

    如何获取数据库中特定ID的记录数量?

  13. 13

    根据特定列排序后如何获取除前5条记录以外的所有记录

  14. 14

    获取特定记录

  15. 15

    根据特定的关联列获取唯一记录 - rails 活动记录关联

  16. 16

    如何使用 Eloquent 获取最后 9 条记录但排除具有特定 ID 的记录?

  17. 17

    Rails:强制特定于新记录的ID(或更改现有ID)

  18. 18

    Rails销毁记录后能否获得下一个ID?

  19. 19

    在滚动总和后,从每个材料ID获取每个月的最新记录

  20. 20

    表单提交后,从上次记录的数据库中获取ID

  21. 21

    获取特定类型的最新记录

  22. 22

    从循环记录中获取记录ID

  23. 23

    如何获取插入记录的ID?

  24. 24

    获取重复行的记录 ID

  25. 25

    Rails 3如何在after_create中获取当前记录ID

  26. 26

    Rails 3如何在after_create中获取当前记录ID

  27. 27

    如何使用Angular AjAX获取具有特定ID的JSON记录?

  28. 28

    如何在填充的对象中获取由特定许可证ID创建的记录?

  29. 29

    从Indexeddb获取特定ID

热门标签

归档