将rails activerecord转换为raw sql

use*_*161 2 activerecord ruby-on-rails rails-activerecord

在php codeigniter FW中,我可以使用get_compiled_select()方法轻松完成.

是否有任何方法可以将活动记录的查询构建转换为原始sql.例如:

User.find_by_name("abc")
Run Code Online (Sandbox Code Playgroud)

应该返回类似的原始查询脚本

select * from user where name = "abc"
Run Code Online (Sandbox Code Playgroud)

Yur*_*dev 6

您可以使用to_sql(它为您提供了一个SQL查询字符串,并且可以在任何ActiveRecord关联上调用):

User.find_by_name("abc").to_sql
Run Code Online (Sandbox Code Playgroud)

http://apidock.com/rails/ActiveRecord/Relation/to_sql

  • 更新:它目前仅适用于Where 子句,不适用于查找器查询。 (3认同)