【问题标题】:how active record sample works?活动记录样本如何工作?
【发布时间】:2012-05-28 10:58:17
【问题描述】:

我碰巧看到了一条线

Item.where(conditions).limit(10).order('created_at desc')

我想知道它类似于

Item.where(conditions).order('created_at desc').limit(10)

根据 Rails 3 的新更改,活动记录似乎没问题

但是,如果我们愿意,可以抽样 10 件商品,*由 created_at 订购*。这是我的问题 #1

问题 2 是 'limit' 在查询中有效,'sample' 没有.. 对吗?它似乎已经处理了 ruby​​ 数组示例..对吗?

【问题讨论】:

    标签: ruby-on-rails-3 activerecord ruby-on-rails-3.1


    【解决方案1】:

    我建议您查看 railscast episodes 239 active relation walkthrough 以了解其工作原理。

    基本上,内部工作是由Arel gem 完成的,activerecord 对象只是在您进行链接时维护 arel 对象。到最后,它让arel生成sql语句,然后用生成的sql语句调用find_by_sql

    问题是,无论你在limit之前调用order还是反过来,生成的sql语句都是一样的。一切都由数据库后端执行,activerecord 只是简单地解析结果并建立对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-09
      • 1970-01-01
      • 1970-01-01
      • 2013-10-15
      • 2021-10-30
      相关资源
      最近更新 更多