2018-08-10-那些可以使用sql的方法

当然,在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 数据

你可能感兴趣的:(2018-08-10-那些可以使用sql的方法)