【问题标题】:Rails - how can I get a random sampling from a model limited to RECENT records?Rails - 如何从仅限于最近记录的模型中获取随机抽样?
【发布时间】:2013-01-30 16:40:15
【问题描述】:

我有一个带有提要的社交媒体应用程序。对于主站点提要和其他各个部分,我想抓取一大块最近的提要作为样本,然后按日期(created_at)排序显示它们。

Feeditem.find(:all, order: "created_at DESC", limit: 30)

给我最近的 30 个 Feed 项。

Feeditem.all.sample(30)

给我一​​个包含 30 个 Feed 项的随机样本,但在所有 Feed 项中(不仅仅是最近的;可能是任何时间的)。

如何从过去的 100 条记录或过去 3 天中获取 30 条记录的随机样本;沿着这条线?

【问题讨论】:

    标签: sql ruby-on-rails ruby arrays sorting


    【解决方案1】:

    试试这个: Feeditem.last(100).sample(30)

    【讨论】:

    • 谢谢,非常好。为了确保它们按顺序排序,我最终得到以下内容: Feeditem.last(100).sample(30).sort_by {|s| - s.created_at.to_i}
    猜你喜欢
    • 2015-05-05
    • 1970-01-01
    • 2019-07-26
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 2020-09-12
    • 1970-01-01
    相关资源
    最近更新 更多