空白のない文字列と一致するすべてのレコードをdbから取得するにはどうすればよいですか?例えばアクティブレコードクエリー 'どこでスペースを無視するか'
:
デシベルレコード:"Hello beautiful world!"
与えられた文字列:name = "Hello beau tifulworld !"
は、アクティブレコードクエリとしてそれを作ることが可能ですか?
空白のない文字列と一致するすべてのレコードをdbから取得するにはどうすればよいですか?例えばアクティブレコードクエリー 'どこでスペースを無視するか'
:
デシベルレコード:"Hello beautiful world!"
与えられた文字列:name = "Hello beau tifulworld !"
は、アクティブレコードクエリとしてそれを作ることが可能ですか?
空白を含まない名前で検索できます。 (postgresのための)このような何か:
Model.where("replace(name, ' ', '') = replace(?, ' ', '')", 'Hello beau tifulworld !')
ありがとう、実際には私は次のように進んでいます: '' 'name ="こんにちは、beau tifulworld! " Model.where( "replace(name、 ''、 '')= replace(?, ''、 '')"、 "#{name}") '' ' – Zelenka
私の心に来る何があなたが両側からソートされた名前でレコードを検索することができるということです。 私は
record.name.chars.sort.join
のようなもので、最初のレコードの名前とIDを持つ新しい作成された配列にあなたはレコード名をソートし、意味とあなたも!Habdeefilllloortuuw"
を得るためにあなたの matching_word = "Hello beautiful world!"
を並べ替えます次に、このヘルパー名と一致するレコードのIDを取得できます。 次のステップでは、これらのレコードをデータベースから取得できます。
幸運を祈る!
これはActiveRecordの問題ではありません。おそらく、特定のデータベースが提供する正規表現のサポートを使用して、SQLの中でこれに対する解決策を見つけなければならず、生のSQLの行をActive Record Queryに渡す必要があります。ああ、私のdownvoteではない。 – jaydel