我有一个名为letters
的变量,在这个例子中等于以下内容:
["a", "e"]
基本上,如何在我的Item
模型上执行活动记录查询,以查找以A,B,C,D& A开头的所有项目。 E'
答案 0 :(得分:2)
点击此链接:http://programming-tut.blogspot.ca/2009/10/ruby-on-rails-loop-alphabet-to-z.html
你可以这样做:
range = [ 'A', 'E' ]
conditions = (range.first..range.last).to_a.map{ |letter| " name ILIKE '#{letter}%' " }.join('OR')
Item.where(conditions)
或者像Vimsha指出的那样:
letters = ('A'..'E').to_a
Item.where("substr(name, 1, 1) IN (?)", letters)
答案 1 :(得分:1)
Item.where(“substr(name,1,1)in('A','B','C','D','E')”)