【发布时间】:2014-04-29 21:04:26
【问题描述】:
我正在尝试使用 Rails 4 创建一个报告应用程序。 作为一个报告系统,它有很多 SQL 查询,其结果与任何表模式都不同。我的意思是,一个选择查询,其中我有一些连接、联合等,结果将类似于一行,其列是子查询、总和等的结果。
是否有可能有一个没有关联表的模型,但我可以在它上面使用“find_by_sql”,用我的查询结果实例化该模型的数组? 比如:
使用“select table1.field1, sum(if(...,table2.field,...) as field2, as field3 from....”作为查询,返回一个模型数组“Result” ,我可以在这里调用 array_of_result.first.field3?
对不起,如果我写得不够清楚。
编辑: 到目前为止,sparky 的 anwser(http://railscasts.com/episodes/193-tableless-model) 是最接近的,因为我想使用一些 ActiveRecord 功能,例如在类中指定连接(甚至在超级类)。
【问题讨论】:
-
当然,您可以使用列名作为属性或将列名作为属性的别名
标签: ruby-on-rails ruby-on-rails-4