2013-02-08 88 views
0

我知道这可能是之前问过的(实际上,我很确定它)。ActiveRecord - 获得第N行到第N + 10行的查询结果

假设我有一个模型文章,并希望找到所有符合特定条件的文章,按日期排序。

Article.find(:conditions => [SOME CONDITION], :order => "date asc") 

如果我想从此查询中获得第10到第20行,我该如何使用ActiveRecord执行此操作?

我使用Postgres,如果它有任何区别。

回答

2

Rails的3记法,这将是:

Article.where(...conditions...).order('date ASC').limit(10).offset(10) 

你可能想要的是像Paginator或类似的东西分页工具。它将提供一个界面来显示页面N,而不必自己进行极限和偏移量计算。

+0

+1,这通常是关于分页。如果不是,请查看我的答案。 – 2013-02-08 22:01:24