当然,在rails中,提供了大量的方法,让我们可以不用直接写sql,通过方法解决绝大部分问题,但我还是觉得掌握sql非常有必要,让我们看看方法。
Model.find_by_sql
User.find_by_sql("select * from users")
返回实例化后数组:
假若我们,在一个model下,使用另一张表的sql会发生什么呢?
Account.find_by_sql("select * from users")
会拿users中的id 去accounts中找记录
Model.connection.select_all
用法:Account.connection.select_all("select * from accounts")
返回hash 结果
ActiveRecord::Base.connection.execute
用法:
sql = "select * from accounts"
ActiveRecord::Base.connection.execute(sql).each do |i|
puts i["name"]
end
PS:
1、只有通过迭代 才会看到数据
2、返回hash 数据
网友评论