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
.