sql >> Databáze >  >> RDS >> Mysql

Rails SQL dotaz na neznámý (dynamický) počet dotazů pomocí LIKE

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 .




  1. Jak NOT REGEXP funguje v MySQL

  2. krok ukončení dotazu velmi dlouhý v náhodných časech

  3. Před přístupem k datům z kurzoru se ujistěte, že je správně inicializován

  4. Jak vytvořit materializované pohledy na SQL Server?