如何在 ruby​​ on rails 中编写嵌套查询?

Posted

技术标签:

【中文标题】如何在 ruby​​ on rails 中编写嵌套查询?【英文标题】:How to write nested query in ruby on rails? 【发布时间】:2013-07-15 21:12:04 【问题描述】:

我想使用 where 方法编写以下查询

SELECT * FROM videos 
WHERE  'privacy' = 'public' OR 
       (privacy = 'private' AND 
       id IN (SELECT vid 
              FROM vid_ads
              WHERE 'aid'=#current_id))

我尝试使用以下查询,但以语法错误结束

Video.where("privacy = 'public' OR 
            (privacy = 'private' AND id = ?)",
            VidAd.where(:aid => current_id).select("vid"))

请帮忙

【问题讨论】:

【参考方案1】:

希望这能成功!

Video.where("category = #@static_cat AND
      privacy = 'public' OR
      (privacy = 'private' AND
      id IN (?))",
      VidAd.where(:aid => current_id).select("vid"))

【讨论】:

以上是关于如何在 ruby​​ on rails 中编写嵌套查询?的主要内容,如果未能解决你的问题,请参考以下文章

在 Ruby on Rails 4.2 中使用 Cocoon gem 嵌套表单

ruby-on-rails - 嵌套资源问题

Ruby on Rails:嵌套命名范围

尝试在 ruby​​ on rails 中创建嵌套资源时,“表单中的第一个参数不能包含 nil 或为空”

Rails Guide -- Ruby on Rake

尝试使用to_json生成嵌套的json格式时,ruby on rails中的未定义方法错误?