使用Rails数组搜索Postgres数组(text [])字段

时间:2016-08-08 21:46:00

标签: ruby-on-rails arrays postgresql

我有一个postgres数据库,其中包含一个包含文本数组的字段的表(定义为text [])。我想用rails数组搜索这个字段。例如:

该表有两条记录:
记录1:id => 1,equip_numbers => {885,887,900}
记录2:id => 2,equip_numbers => {678,789,890}
记录3:id => 3,equip_numbers => {885,887}

来自程序的数组将是:equips = [885,887,900]

我想搜索表格以查找包含上面设备表中所有数字的记录(所以只记录1而非记录2或3)。

我已经阅读过有关使用ANY或ALL的信息,但这些都是针对单值搜索的 (Equipment.where(“'885'= ANY(equip_numbers)”))。我想做点什么:

Equipment.where(“#{equips} IN ANY(equip_numbers))

但这不起作用。我如何使用equips数组搜索Equipment表中的equip_numbers字段?

0 个答案:

没有答案