【发布时间】:2014-08-28 23:09:00
【问题描述】:
我有一个模型mer20,其中包含作为字符串的数字列表(称为前导和滞后),由| 分隔。例如
235833|1457541|2244166|2824350|3219744|3343546
我要做的是构建一个查询,以便我可以获取与单个数字精确匹配的记录。
我试过了:
mer = where("leading like ? OR lagging like ?", "%#{query}%", "%#{query}%")
但它也获取带有查询的对象作为子字符串,这是我不想要的!
此外,我将如何检查这些数字中的任何一个是否在另外两个(a,b)之间?
最终解决方案:
mer = where("leading = ? OR lagging = ? OR leading like ? OR lagging like ? OR leading like ? OR lagging like ? OR leading like ? OR lagging like ?", query.to_i, query.to_i, "#{query}|%", "#{query}|%", "|#{query}|", "|#{query}|", "%|#{query}", "%|#{query}")
【问题讨论】:
标签: ruby-on-rails activerecord where