4

OR WHERE をタグ付け可能として機能するクエリにクエリしようとしています...

Business.tagged_with(params[:query], :any => true)

でも、こんなor_whereも同時にやってみたい…。

Business.tagged_with(params[:query], :any => true).or_where('name LIKE ?', "%#{params[:query]}%")

or_where メソッドがないため、これは明らかに機能しませんが、誰かがこれを正しく実行する方法を知っていますか?

要するに、タグまたはビジネス名との一致を見つけようとしています。ありがとう。

4

1 に答える 1

3

| を使用して、2 つのクエリを一緒に OR することができます。次のような演算子:

Business.tagged_with(params[:query], :any => true) | Business.where('name LIKE ?', "%#{params[:query]}%")

これにより結果が熱心に読み込まれるため、これ以降は順序付けなどの条件を適用できないことに注意してください。重複を除いて、一致するすべての結果を含む配列を返します。

于 2011-06-21T02:41:08.587 に答える