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

时间:2013-02-28 06:49:28

标签: ruby-on-rails associations find-by-sql

我有一个很长的SQL查询,我在rails Model.find_by_sql中使用,我必须在该查询中添加几个条件,就像我想要获取其parent.is_allowed为true的所有记录。

这意味着我正在获取所有子元素,并且我想使用在child和parent之间的关联。在Child表中我们有parent_id。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

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')")