我想查询我的数据库表,其中age字段的值为24或26。 我在我的查询中尝试使用'like'。
User.where('age like ? or age like ?',"%24%","%26%")
我在这里做错了吗?
答案 0 :(得分:0)
试试这个
User.where("age in ?",["24","26"])
让你的字符串用逗号分隔符来表示你的年龄
ages = "24,26,28,17,18"
age_array = ages.split(",")
User.where("age in ?",age_array)
答案 1 :(得分:0)
你也可以尝试这个..
User.where(:age => age_array)
答案 2 :(得分:0)
将此模式用于多个搜索属性:
ages = ["24", "26"]
query = ages.map { |age| "age like '%#{age}%'" }.join(" OR ")
User.where(query)
它将自动生成如下查询:
SELECT 'users.*' FROM 'users' WHERE (age like '%24%' OR age like '%26%')
希望这个解决方案能为您提供帮助!