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