4
MyModel.select('a, b, c').all
的Rails 3:包括在查询
这将返回从数据库下列SQL函数:
+---+---+---+
| a | b | c |
+---+---+---+
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 9 |
+---+---+---+
问题:如何将包括一个SQL函数的结果第四列?
即
+---+---+---+---------------------+
| a | b | c | MYFUNCTION(a, b, c) |
+---+---+---+---------------------+
| 1 | 2 | 3 | 123 |
| 4 | 5 | 6 | 456 |
| 7 | 8 | 9 | 789 |
+---+---+---+---------------------+
下不工作:
MyModel.select('a, b, c, MYFUNCTION(a, b, c)').all
虽然,如果我用AS
给列一个有效的模型属性的名称,它的工作原理:
MyModel.select('a, b, MYFUNCTION(a, b, b) AS c').all
+---+---+-----+
| a | b | c |
+---+---+-----+
| 1 | 2 | 122 |
| 4 | 5 | 455 |
| 7 | 8 | 788 |
+---+---+-----+
我宁愿在模型的上下文中解决这个问题,而不是恢复原始SQL,因为我还需要使用范围。
任何建议非常感谢。
太棒了,所以你可以!我很困惑,因为这在返回的模型中不可见(对上面009:0行的响应)。谢谢。 – gjb 2011-01-21 23:29:18