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