Mit dieser:wie Abfrage in Schienen 5 nicht funktioniert
.. .where("field1 IN(?) AND field2 LIKE(?) AND field3 LIKE(?) ", params[:array_for_field1], "%#{params[:array_for_field2]}%", "%#{params[:array_for_field3]}%")
Ich erhalte dieses:
SELECT `table`.* FROM `table` WHERE(field1 IN('value1','value2','value3') AND field2 LIKE('%[\"value1\", \"value2\"]%') AND field3 LIKE('%[\"value1\"]%'))
Ich mag würde wissen, wo ist der Fehler, für field1 funktioniert, aber die „LIKE Abfrage "Teil mit% ist nicht, die Parameter kommt aus einem Kontrollkästchen. danke
Verwenden Sie diese Antwort: https://stackoverflow.com/questions/19412607/rails-where-like-and-array – Aschen
@ user1936635 werfen Sie einen Blick auf diese Antwort, die ich gestern geschrieben https://stackoverflow.com/questions/44633250/ruby-rails-sql-abfrage-reordering-words-in-a-search-term/44634062 # 44634062. Dies ist Cross-Datenbank-kompatibel mit 'Arel'. Sie müssen es nur so leicht erweitern, um die verschiedenen Felder zu bearbeiten, die Sie interessieren – engineersmnky
genial, ich werde Arel versuchen. danke – user1936635