railsで生SQLを書く

2017-11-27

select の発行回数を減らしたかったり、ActiveRecord では上手く書けない SQL を書きたい時など。

qyery = <<-EOS
  select * from shops where shop_id=:shop_id
EOS

sanitized_query = ActiveRecord::Base.send(
  :sanitize_sql_array,
  [query, shop_id: 1]
)

ActiveRecord::Base.connection.select_one(sanitized_query)

参考リンク