我正在对我的函数执行这个查询:
ActiveRecord::Base.connection.execute("SELECT * FROM organic_reports('#{@date}');")
函数返回以下属性:
name(string), project_id(int), report_id(int), created_at(date), stats(int)
我如何使用ActiveRecord来查询这些结果,就像在一个正常的Rails模型?方法如(where, find等)
您始终可以使用from
来定义查询的源,然后您可以像往常一样使用ActiveRecord查询接口。
Model.from("organic_reports('#{@date}')").where('...').group('...')
为什么不为organic_reports表定义一个模型呢?
class OrganicReport < ActiveRecord::Base
end
现在它是一个可以正常查询的Rails模型:
OrganicReport.find_by(project_id: 1)
OrganicReport.where('name LIKE ?', "#{name}")