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的更好方法?_Sql_Ruby On Rails_Ruby_Ruby On Rails 3_Coding Style - Fatal编程技术网

在rails模型中编写大型SQL的更好方法?

在rails模型中编写大型SQL的更好方法?,sql,ruby-on-rails,ruby,ruby-on-rails-3,coding-style,Sql,Ruby On Rails,Ruby,Ruby On Rails 3,Coding Style,在使用了大量的Arel之后,Rails为sugar代码提供了很多功能,我在 处理大型复杂的SQLs查询时,我不能用Arel方法很好地处理这些查询。 我喜欢用Arel来处理一些小事情,但是当事情变得一团糟时,我更喜欢把代码分开 那么,对于如何处理大型SQLs内部模型,有什么建议吗?比如,我应该在什么时候创建SQL视图(正如我看到的Rails提供的不太好,我必须为此创建一个迁移),或者在某个文件夹“sqls”中创建任何单独的类,然后从那里调用 我知道有些人使用使用find\u by\u sql而不是

在使用了大量的Arel之后,Rails为sugar代码提供了很多功能,我在 处理大型复杂的SQLs查询时,我不能用Arel方法很好地处理这些查询。 我喜欢用Arel来处理一些小事情,但是当事情变得一团糟时,我更喜欢把代码分开

那么,对于如何处理大型SQLs内部模型,有什么建议吗?比如,我应该在什么时候创建SQL视图(正如我看到的Rails提供的不太好,我必须为此创建一个迁移),或者在某个文件夹“sqls”中创建任何单独的类,然后从那里调用


我知道有些人使用使用
find\u by\u sql
而不是与here文档结合使用:

Questions.find_by_sql(<<SQL)
select questions.id
  ...
SQL

问题。按sql查找(看看把它写成一个sql字符串有什么错?有时候友好的工具会妨碍你,让事情更难理解。PS:为什么
合并(COUNT(answers.id)=0,true)::整数
当你可以
合并(COUNT(answers.id)=0,1)
时?
Questions.find_by_sql(<<SQL)
select questions.id
  ...
SQL