Active Record Query'where'忽略空格

时间:2016-07-13 15:04:57

标签: ruby-on-rails activerecord

如何从db中获取与没有空格的给定字符串匹配的所有记录?

例如:

db记录:"Hello beautiful world!"

给定字符串:name = "Hello beau tifulworld !"

是否可以将其作为Active Record Query?

2 个答案:

答案 0 :(得分:2)

您可以按名称搜索,不含空格。这样的事情(对于postgres):

Model.where("replace(name, ' ', '') = replace(?, ' ', '')", 'Hello  beau tifulworld !')

答案 1 :(得分:0)

我想到的是你可以通过双方的分类名称搜索记录。 我的意思是,首先在一个新创建的数组中,使用记录的名称和id来对记录名称进行排序,类似于

record.name.chars.sort.join你也可以对你进行排序 matching_word = "Hello beautiful world!"

获取!Habdeefilllloortuuw"

然后,您可以获取与此帮助程序名称匹配的记录的ID。 在下一步中,您可以从数据库中获取这些记录。

祝你好运!