在Rails 4中查询Postgres数组类型的任何成员

时间:2015-04-25 17:01:50

标签: ruby-on-rails arrays postgresql ruby-on-rails-4 activerecord

我看到的每个地方都有2个例子

Book.where("'history' = ANY (subjects)")

查询主题数组中具有特定主题的书籍

 Book.where("subjects @> ?", '{'history', 'drama'}')

查询主题数组同时包含历史和戏剧的书籍

如何查询具有历史或戏剧或两者的图书?

1 个答案:

答案 0 :(得分:0)

目前我正在使用

解决这个问题
query = subject_list.map do |subject|
                "'#{subject}' = ANY(subjects)"
            end.join(" OR ")

Book.where(query)