sql >> Database >  >> RDS >> Mysql

Rails SQL-query op onbekend (dynamisch) aantal query's met LIKE

Wat u wilt doen, is een array als een enkel argument doorgeven aan where die zowel de query EN de dynamische waarden bevat. Bijvoorbeeld:

where(["att_1 LIKE ? OR att_2 LIKE ?", "value1", "value2"])

Als een array wordt doorgegeven als het eerste en enige argument, wordt het eerste element van de array behandeld als een sjabloon. De volgende matrixwaarden worden behandeld als de dynamische waarden voor de querysjabloon.

Bijvoorbeeld, in plaats van twee aparte variabelen queries en query , combineer ze in één query variabele:

# A single array with the query AND values
query = ["hobby LIKE ? OR (gender LIKE ? AND hobby LIKE ?)", "skiing", "male", "jogging"]

# Run the `where` with a single array as the argument
YourModel.where(query)

Hiermee kunt u de DB opvragen met een onbekend aantal waarden met behulp van LIKE .




  1. Android-app bouwen voor het uitvoeren van PHP en MySQL op Android-tablet

  2. Panda's - write_frame naar sqlite - datetime64[ns]

  3. MySQL:NULL vs

  4. Seconden krijgen tussen twee Oracle-tijdstempels