Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.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 如何在rails中使用与find_by_sql的关联?_Ruby On Rails_Associations_Find By Sql - Fatal编程技术网

Ruby on rails 如何在rails中使用与find_by_sql的关联?

Ruby on rails 如何在rails中使用与find_by_sql的关联?,ruby-on-rails,associations,find-by-sql,Ruby On Rails,Associations,Find By Sql,我有一个很长的SQL查询,我在rails模型中使用它。按SQL查找,我必须在该查询中添加两个条件,就像我想要获取父项为true的所有记录一样 这意味着我正在获取所有子元素,我想使用子元素和父元素之间的关联。在子表中,我们有父元素id 谢谢您可以尝试以下方式: Model.find_by_sql("select * from models where parent_id in (select id from parents where is_allowed='true') and ...

我有一个很长的SQL查询,我在rails模型中使用它。按SQL查找,我必须在该查询中添加两个条件,就像我想要获取父项为true的所有记录一样

这意味着我正在获取所有子元素,我想使用子元素和父元素之间的关联。在子表中,我们有父元素id


谢谢

您可以尝试以下方式:

Model.find_by_sql("select * from models where parent_id in (select id from parents where is_allowed='true') and ... ")
只需用原始SQL查询替换

编辑 根据您的评论,我认为这句话更符合您的需要:

Model.find_by_sql("select * from models where parent_id in (select id from users where is_allowed='true')")

我将试试你提到的那一种。。在usr.id=a.parent\u id和usr.is\u allowed=true上加入用户usr。我正在寻找这种情况。你想要一个用户集合还是什么“a”是什么?我基本上想要获取所有其父项为(u allowed value为true)的子项。。