【发布时间】:2015-10-12 15:31:41
【问题描述】:
我找不到任何关于如何在 Rails 中查询array columns 的好文章。我遇到了在 Rails 中查询 Array 列的需求。
我从一篇教如何进行基本查询的文章中找到here。
让我们按照文章中的例子,Book 覆盖了许多subjects,并且主题存储为数组列:
add_column :books, :subjects, :text, array: true, default: []
查询包含特定主题的书籍 - 例如历史
Book.where("'history' = ANY (subjects)")
查询包含所有列出主题的书籍 - 例如金融、商业和会计
Book.where("subjects @> ?", "{Finance,Business,Accounting}")
我想知道如何执行以下操作?
查询包含任何所列主题的图书 - 例如小说或传记
查询不包含特定主题的书籍 - 例如不是物理
查询不包含任何主题的书籍 - 例如不是(物理或化学或生物学)
是否有任何Rails 的方式来进行上述查询?
【问题讨论】:
标签: ruby-on-rails arrays ruby postgresql