如何在db表中的id数组中查找id

时间:2017-10-13 14:10:27

标签: ruby-on-rails

所以我在一个名为event_ids的表列中有一个id数组

我想要的是通过ID搜索来找到一个想法,像

Event.where(event_ids: [123456])但它不适用于数组

任何想法如何解决这个问题?

2.3.3 :001 > array = [1317,4904]
 => [1317, 4904]
2.3.3 :002 > Event.where(ticketmaster: array)
  Event Load (3.1ms)  SELECT "events".* FROM "events" WHERE "events"."ticketmaster" IN ('1317', '4904')
 => #<ActiveRecord::Relation []>

但是,在事件表的ticketmaster列的一行中我有:

---
- 1
- 1106
- 1317
- 4904
- 11648
- 13061

(由psequel格式化)

如果我从数据库返回它,它将作为数组返回

1 个答案:

答案 0 :(得分:0)

“123456”不是数组。如果您有类似

的内容
array_of_ids = [1,2,3,4,5,6]

然后你可以做类似的事情:

Event.where(id: array_of_ids)

如果event_ids是某个表中的数组,并且您在变量中有该表中的记录,那么您可以执行以下操作:

Event.where(id: variable.event_ids)

不确定为什么表中有一个id数组。