从按日期订购的两个型号中获取X项?

时间:2012-03-11 23:29:18

标签: ruby-on-rails activerecord

想象一下,我有两个模型:

foo and bar。

我有一个页面,我显示X项目(用kaminari分页)。

这些项目将是foo和bar的组合。

所以我需要检索一个由created_at命令的X项目数组。

想象一下,foo有25个项目,而bar只有10个。

我要10个项目,我需要由created_at订购的前10个项目。也许有7 foo和3 bar混合在一起。

我知道我可以检索并合并它们,但问题是如果我要求10 foo和10 bar,按日期排序并获得前10个。如果我要求第2页,我将丢失物品。< / p>

也许我问得太多,但是要求第1页,检索10项foo / bar mix,请求第2页,以及同样的东西。也许我需要第三张桌子?

想法? :)

1 个答案:

答案 0 :(得分:0)

您可以创建一个视图,它是两个表的组合。然后查询该表中的前10个记录。看看这个宝石:https://rubygems.org/gems/rails_sql_views

如果这些是类似的概念,您实际上可以使用一个表和两个具有单表继承的模型。