Mysql
 sql >> база данни >  >> RDS >> Mysql

Rails SQL заявка за неизвестен (динамичен) брой заявки, използвайки LIKE

Това, което ще искате да направите, е да предадете масив като един аргумент на where който съдържа както заявката, така и динамичните стойности. Например:

where(["att_1 LIKE ? OR att_2 LIKE ?", "value1", "value2"])

Ако масивът е подаден като първи и единствен аргумент, тогава първият елемент от масива се третира като шаблон. Следните стойности на масива се третират като динамични стойности за шаблона на заявката.

За вашия пример, вместо да имате две отделни променливи queries и query , комбинирайте ги в една query променлива:

# 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)

Това ще ви позволи да правите запитвания към DB с неизвестен брой стойности, като използвате LIKE .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL/PHP – Поставянето на кавички около числата би ли нарушило някакви заявки?

  2. phpActiveRecord Неправилен формат на дата и час

  3. Използване на PHP/MySQL за изчисляване на проценти

  4. Как да запазите позиции на портлети

  5. GlassFish 5 и MySQL конектор