我有一个模特" Job"其中有2个字段:id和:qty,我似乎无法访问查询中的计算字段。我做错了什么?
Job.select("*, (qty * 2) AS TEST")
答案 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;