搜索column = array的数据库

时间:2016-12-15 20:18:04

标签: ruby-on-rails arrays ruby database

我正在尝试查看您是否可以使用字符串数组搜索数据库而不只是一个

if current_user.role == 'Coach' 
  @groups.each do |group| 
    @groupchats << group.id 
  end 
else 
  @mygroups.each do |group|
    @groupchats << group.group_id 
  end 
end 

@groupchatss = Chat.where("group_id= "+@groupchats.to_s+"").order('created_at DESC')

所以它在数据库中搜索group_id= [0,1,2,3]或者数组实际上是什么

我想知道这是否真的可能

2 个答案:

答案 0 :(得分:2)

您应该使用sql operator IN来执行此操作。 Rails将为您生成正确的SQL查询:

@groupchatss = Chat.where(group_id: @groupchats).order('created_at DESC')

答案 1 :(得分:-1)

我相信在搜索数组

时,linq包含的效果会很好

像: db.mytable.where(p=>p.groupid.contains(myarray);