Co budete chtít udělat, je předat pole jako jeden argument do where
který obsahuje jak dotaz, tak dynamické hodnoty. Například:
where(["att_1 LIKE ? OR att_2 LIKE ?", "value1", "value2"])
Pokud je pole předáno jako první a jediný argument, pak se první prvek pole považuje za šablonu. Následující hodnoty pole jsou považovány za dynamické hodnoty pro šablonu dotazu.
Například místo dvou samostatných proměnných queries
a query
, spojte je do jednoho query
proměnná:
# 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)
To vám umožní dotazovat se DB s neznámým počtem hodnot pomocí LIKE
.