我想找一个标题包括&#f; foo'或者' bar'。 为此我写了这样的话:
Post.find_by('title like ? or title like ?', '%foo%', '%bar%')
此代码工作正常,但它有点多余。
如果它完全匹配,我可以使用数组。与like
条件有相似的方式吗?
答案 0 :(得分:1)
当你将一个字符串传递给如上所述的AR查询时,('title like ? or title like ?', '%foo%', '%bar%'
)你基本上是在写一个SQL-ish查询。
话虽这么说,实现这一点的方法可能在于在SQL中使用similar to
关键字。
这将简化查询,并删除重复使用title like ?
。
您的场景使用示例如下:
Post.find_by('title similar to ?', '%(foo|bar)%')
希望这有帮助。