Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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
如何在Rails中链接原始SQL查询,或者如何从Rails中的原始SQL查询返回ActiveRecord\u关系?_Sql_Ruby On Rails_Activerecord_Sqlite_Database Connection - Fatal编程技术网

如何在Rails中链接原始SQL查询,或者如何从Rails中的原始SQL查询返回ActiveRecord\u关系?

如何在Rails中链接原始SQL查询,或者如何从Rails中的原始SQL查询返回ActiveRecord\u关系?,sql,ruby-on-rails,activerecord,sqlite,database-connection,Sql,Ruby On Rails,Activerecord,Sqlite,Database Connection,如何运行原始sql查询并获得返回的ActiveRecord\u关系实例 在sqlite3db和rails4.2上,ActiveRecords::Base.exec_query(sql)返回一个ActiveRecord_结果实例ActiveRecords::Base.execute(sql)返回一个数组。这很麻烦,因为我无法对返回的对象运行后续的“ActiveRecord查询”或原始sql查询 更一般地说,我想知道如何在Rails中链接“复杂”的sql查询。所谓复杂,我的意思是我无法通过Activ

如何运行原始sql查询并获得返回的
ActiveRecord\u关系
实例

在sqlite3db和rails4.2上,
ActiveRecords::Base.exec_query(sql)
返回一个
ActiveRecord_结果
实例
ActiveRecords::Base.execute(sql)
返回一个数组。这很麻烦,因为我无法对返回的对象运行后续的“ActiveRecord查询”或原始sql查询

更一般地说,我想知道如何在Rails中链接“复杂”的sql查询。所谓复杂,我的意思是我无法通过ActiveRecords提供的“ORM方法”找到一种方法来实现它。通过链接,我的意思是,出于性能原因,我想将其分解为几个SQL查询。示例:我只想运行一次大而重的first SQL查询,存储结果,然后根据用户行为运行更轻的SQL查询

我目前正试图通过服务器端处理来优化数据库可视化。每次用户与表交互时,服务器都必须运行一个不必要的复杂SQL查询,因为我无法在更简单的查询中分解它。我查看了以下问题,但无法找到令人满意的解决方案:


这是一种从原始sql获取ActiveRecord关系的方法。
如果您实际有一个与您试图检索的字段相匹配的模型,则效果最好,但正如您在test_属性中看到的,任何数据都将被加载

#只是一个示例查询,任何查询都应该可以

query=您是如何解决的?哇,这为我提供了一种很好的方法来转换一些将数组返回到活动记录关系的find\u by\u sql函数。如果可能的话,我会把它放大。