【问题标题】:Getting X items from two models ordered by date?从按日期订购的两个模型中获取 X 项?
【发布时间】:2012-03-12 07:40:14
【问题描述】:

假设我有两个模型:

foo 和 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 个。如果我要求第二页,我将丢失项目。

也许我要求太多了,但最好要求第 1 页,检索 10 项 foo/bar 组合,要求第 2 页,以及相同的内容。也许我需要第三张桌子?

想法? :)

【问题讨论】:

    标签: ruby-on-rails activerecord


    【解决方案1】:

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

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

    【讨论】:

    • 一个模型是一个帖子,另一个就像一个twitt,只是一个少于140-150个字符的消息。继承似乎不合适。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多