如何从数据库中获取包含来自序列化列的搜索值的记录?

时间:2016-09-27 06:41:31

标签: mysql ruby-on-rails

我有model名为exchange。在这里,我有一个serialisedemp_ids。我想获取包含emp_ids列中用户搜索值的记录。我该如何查询?

emp_ids列看起来像["1","2","3"]。我的search value将是"2"。那么我想只从数据库中获取那些记录,其中包含emp_ids serialised列中的搜索值。

我正在寻找一个类似于此的query

Exchange.where(:emp_ids.include?("1"))

2 个答案:

答案 0 :(得分:1)

试试这个

  

Exchange.all.select {| m | m.emp_ids.include? “1”}

答案 1 :(得分:0)

看起来你想开火' IN'在emp_ids列上查询,请尝试以下操作:

Exchange.where(emp_ids: [1,3])

有关详情,请点击此处查看子集条件:http://guides.rubyonrails.org/active_record_querying.html#subset-conditions