Rails访问计算字段

时间:2014-08-22 02:24:10

标签: ruby-on-rails ruby-on-rails-4

我有一个模特" Job"其中有2个字段:id和:qty,我似乎无法访问查询中的计算字段。我做错了什么?

Job.select("*, (qty * 2) AS TEST")

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式访问别名列:

Job.select("*, (qty * 2) AS double_qty").first.double_qty

test是Rails的私有方法,您应该避免将其用作别名列)

在订单条款中使用它:

scope :ordered, -> { select('*, (qty * 2) AS double_qty').order('double_qty DESC') }

像这样使用:

Job.ordered
# => should trigger a SQL query like: 
SELECT jobs.*, (qty * 2) AS double_qty 
ORDER BY double_qty DESC;