Det, du vil gøre, er at sende et array som et enkelt argument til where
som indeholder både forespørgslen OG de dynamiske værdier. For eksempel:
where(["att_1 LIKE ? OR att_2 LIKE ?", "value1", "value2"])
Hvis et array sendes som det første og eneste argument, behandles det første element i arrayet som en skabelon. Følgende matrixværdier behandles som de dynamiske værdier for forespørgselsskabelonen.
For dit eksempel, i stedet for at have to separate variabler queries
og query
, kombinere dem til én query
variabel:
# 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)
Dette giver dig mulighed for at forespørge databasen med et ukendt antal værdier ved hjælp af LIKE
.