我在Squeel中有以下查询:
languages = where{ (name == 'English') |
(name == 'Spanish') |
(name == 'German') |
(name == 'French') |
...
}
哪种方法可以正常工作,但如果有一种方法可以使用这些值迭代数组,以便更容易添加和删除语言,那么我正在讨论。假设我创建了数组:
languages_array = %w[ English Spanish French ... ]
有没有办法在Where块中使用Squeel进行迭代?
我已经尝试了所有我能想到的但没有成功的事情。
感谢。
答案 0 :(得分:3)
我认为这应该有用
where{name.in(languages_array)}
答案 1 :(得分:0)
此类查询不需要squeel
:where(name: languages_array)
会做你需要的 - 它会转换为
WHERE name IN ('English', 'Spanish', 'French', ...)
这可能是你需要的。