这似乎是一个简单的查询,但我无法指出它。
基本上,它归结为具有帖子的类别的古老概念。预期的关联到位,一个类别具有多个帖子,而一个帖子属于一个类别。
我想用帖子检索所有类别,但将帖子数限制为10个。
有什么想法吗?
答案 0 :(得分:1)
这不是你可以用原始SQL做的事情,因为LIMIT是在总数据集大小上,而不是其他任何东西。
纯粹通过SQL执行此操作的唯一方法是在连接和过滤器中创建一个虚假的id列,而不是在它出现时,这实际上是依赖于您正在使用的数据库服务器。
替代方案要么获得所有类别和帖子并减少记录集,要么获得所有类别并按照Joerg建议迭代获得10个帖子。
答案 1 :(得分:0)
您是否需要在一个SQL语句中检索它们?或者你需要时懒得加载它们吗?
在哪种情况下
Category.all
将获取您的所有类别,并通过它们来获取您的帖子可能只是
Category.all.each do |category|
category.posts.limit(10)
end
这还不够吗?