To, co będziesz chciał zrobić, to przekazać tablicę jako pojedynczy argument do where
który zawiera zarówno zapytanie, jak i wartości dynamiczne. Na przykład:
where(["att_1 LIKE ? OR att_2 LIKE ?", "value1", "value2"])
Jeśli tablica jest przekazywana jako pierwszy i jedyny argument, to pierwszy element tablicy jest traktowany jako szablon. Następujące wartości tablicy są traktowane jako wartości dynamiczne dla szablonu zapytania.
Na przykład zamiast dwóch oddzielnych zmiennych queries
i query
, połącz je w jedno query
zmienna:
# 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)
Umożliwi to wysyłanie zapytań do bazy danych z nieznaną liczbą wartości przy użyciu LIKE
.