【发布时间】:2012-02-07 19:04:22
【问题描述】:
我想对以下 Active Record 查询应用限制和偏移量:
results = ForumThread.joins(:posts).where(:posts => {:some_integer => 123})
注意 ForumThread :has_many 模型中的帖子关联。
我尝试在 where 子句中包含 @options 哈希。我尝试将.limit(5) 附加到查询的末尾。然而,这些都不起作用。阅读Active Record Query Interface guide 也无济于事。 如何对查询应用限制和偏移量?
如果替代查找器方法更合适,我愿意修改查询。
【问题讨论】:
-
正在生成和执行什么查询,如
log/development.log所示? -
SELECT COUNT(*) FROM "forums_threads" INNER JOIN "posts" ON "posts"."forum_thread_id" = "forum_threads"."id" WHERE "posts"."some_integer" = '123'。这没有在任何地方添加限制。 -
附加
limit(5)条件后会得到什么查询?还有你在后端使用什么 RDBMS? -
与
LIMIT 5附加到末尾的相同查询。我对results.count远大于传递给limit 的值感到困惑。
标签: ruby-on-rails activerecord limit offset