Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 在rails中创建SQL命令_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 4 在rails中创建SQL命令

Ruby on rails 4 在rails中创建SQL命令,ruby-on-rails-4,Ruby On Rails 4,我在rails中使用直接SQL查询,我想让SQL查询不那么冗长 我想增加一些东西,大致如下: $SQL = ActiveRecord::Base.connection 因此,我可以使用: $SQL.execute("<query>") SQL("<query>") 因此,我可以使用: $SQL.execute("<query>") SQL("<query>") SQL(“”) 首先: 在rails

我在rails中使用直接SQL查询,我想让SQL查询不那么冗长

我想增加一些东西,大致如下:

    $SQL = ActiveRecord::Base.connection
因此,我可以使用:

    $SQL.execute("<query>")
    SQL("<query>")
因此,我可以使用:

    $SQL.execute("<query>")
    SQL("<query>")
SQL(“”)
首先: 在rails应用程序中,哪一个地方是使此功能普遍可访问的最佳位置

第二: 有什么理由认为这是个坏主意吗

  • 您可以将代码放入类中,并将文件放入lib目录中。在告诉rails加载该文件后,您可以在任何地方调用您的方法

  • 这是个坏主意,因为这样你根本不用ActiveRecord。ActiveRecord允许您非常深入地定制它生成的所有SQL,但是如果您不能得到您想要的,我建议您至少使用在您的模型中可用的find_by_SQL方法

  • 例如,拥有一个用户模型,您可以

    User.find_by_sql("place here your sql query")
    
    这样,所有检索到的记录都将“装入”模型实例中,您将能够以与通过经典where(..)查询获取记录相同的方式使用它