Ruby on rails Mysql2::对象的结果

Ruby on rails Mysql2::对象的结果,ruby-on-rails,mysql2,Ruby On Rails,Mysql2,如何将Mysql2::Result转换为某个对象? 我使用: 我需要将这个结果映射到某个对象,或者像这样的smthg。 谢谢。我的理解是,您可以在任何模型上执行类似的sql查询,它将作为该模型的实例返回数据。仔细阅读。这是文档中的示例。请注意,is返回一个Post对象: Post.find_by_sql "SELECT p.title, c.author FROM posts p, comments c WHERE p.id = c.post_id" > [#<Post:0x36bf

如何将Mysql2::Result转换为某个对象? 我使用:

我需要将这个结果映射到某个对象,或者像这样的smthg。
谢谢。

我的理解是,您可以在任何模型上执行类似的sql查询,它将作为该模型的实例返回数据。仔细阅读。这是文档中的示例。请注意,is返回一个Post对象:

Post.find_by_sql "SELECT p.title, c.author FROM posts p, comments c WHERE p.id = c.post_id"
> [#<Post:0x36bff9c @attributes={"title"=>"Ruby Meetup", "first_name"=>"Quentin"}>, ...]

谢谢,我如何将两个或多个参数传递给find_by_sql方法?问题已解决。find_by_sql([sql,'2011-04-06',1])我在回答中添加了一个示例。
Post.find_by_sql "SELECT p.title, c.author FROM posts p, comments c WHERE p.id = c.post_id"
> [#<Post:0x36bff9c @attributes={"title"=>"Ruby Meetup", "first_name"=>"Quentin"}>, ...]
irb(main):015:0> y Location.find_by_sql(["select address, name from locations where name = :name and address = :address", {:address => "Arts Court 2 Daly Ave, Ottawa, ON", :name => "Studio B"}])
--- 
- !ruby/object:Location 
  attributes: 
  name: Studio B
  address: Arts Court 2 Daly Ave, Ottawa, ON
  attributes_cache: {}

changed_attributes: {}

destroyed: false
marked_for_destruction: false
new_record: false
previously_changed: {}