2014-10-09 10 views
6

sto cercando di recuperare più record dal mio DB con la seguente query:PostgreSQL iLike con più partite in Rails ActiveRecord

User.where('name ilike ?','%thomas%') 

questo funziona bene. Ora voglio recuperare più record contemporaneamente e provato questo (che sembra essere sintatticamente corretto):

User.where('name ilike any',['%thomas%','%james%','%martin%']) 

Che cosa sto facendo di sbagliato?

Quindi, per chiarire: voglio recuperare tutti i record che corrispondono a uno dei nomi, quindi è una dichiarazione OR che sto cercando.

risposta

23

lo si può fare da

User.where('name ilike any (array[?])',['%thomas%','%james%','%martin%']) 
+0

Grazie per aver risposta veloce. Esattamente quello che stavo cercando. – Severin

+0

Bello apprendimento per me .. :-) +1 –