我想查询年龄字段值为 24 或 26 的数据库表。我尝试在查询中使用“like”。
User.where('age like ? or age like ?',"%24%","%26%")
我在这里做错了吗?
我想查询年龄字段值为 24 或 26 的数据库表。我尝试在查询中使用“like”。
User.where('age like ? or age like ?',"%24%","%26%")
我在这里做错了吗?
你也可以试试这个。。
User.where(:age => age_array)
将此模式用于多个搜索属性:
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%')
希望这个解决方案对您有所帮助!
尝试这个
User.where("age in ?",["24","26"])
用逗号分隔符在字符串中考虑您的年龄
ages = "24,26,28,17,18"
age_array = ages.split(",")
User.where("age in ?",age_array)