在我的表professional_infos表中有一列primary_skill_ids,它存储了特定用户的一组技能。我想列出具有某些特定技能集的所有用户。 例子 -搜索在存储数组的列中
user1 has primary_skill as ["1","3","5","9","4"]
user2 has primary_skill as ["1","7","9","4"]
user3 has primary_skill as ["1","4","11"]
user3 has primary_skill as ["7","9","4"]
user4 has primary_skill as ["1","7","9"]
user5 has primary_skill as ["7","9"]
现在我要执行像让我所有有任何或全部的技能primary_skill_ids作为用户搜索[“1”,“4]
请帮我写一轨查询到这样做。
我已经做了类似下面的
wildcard_search = "%#{params[:search_title]}%"
# key skills and best in search
@key_skills=[]
@key_skills.each do | sk |
# here I am thinking of looping through the ids and do a where clause on column primary_skill_ids but dont know its good idea
end
您应该使用[多对多关系](http://guides.rubyonrails.org/association_basics.html#the-has-and-belongs-to-many-association)。 – Stefan
我在做搜索功能。我已经定义了professional_infos和技能之间的关联 –
您可以展示您的模型和/或数据库模式吗? _“存储一系列技能的一列primary_skill_ids”_听起来更像是序列化字符串,而不是关联。 – Stefan