【发布时间】:2017-09-25 16:04:41
【问题描述】:
我有一个变量 str,其中包含一个类似 The ruby 的字符串,它会根据它找到结果。
User.where('abc LIKE :q OR xyz LIKE :q ', q: "%#{str}%")
虽然它工作正常,但如果 str 变量包含类似 str = ["The", "ruby"] 的数组,我会卡住该怎么办
我可以运行一个循环,但它会创建多个查询,我不希望这样。可以用相同的代码完成吗?
我知道如果我必须测试多个单词,那么我必须做这样的事情
User.where('abc LIKE :q OR abc LIKE :r OR xyz LIKE :q OR xyz LIKE :r ', q: "%#{str[0]}%", r: "%#{str[1]}%")
例如,我在数组中使用了 2 个值,但实际上它可以是任意长度。
如果我做得对,请告诉我
【问题讨论】:
标签: mysql ruby-on-rails activerecord