sql >> Databasteknik >  >> RDS >> PostgreSQL

Rails Console hittar användare efter en mängd ID

För en array kan du använda en av dessa:

# Will raise exception if any value not found
User.find( [1,3,5] )

# Will not raise an exception
User.find_all_by_id( [1,3,5] ) # Rails 3
User.where(id: [1,3,5])        # Rails 4

Om du råkar använda ett intervall kan du använda dessa:

# Will raise exception if any value not found
User.find((1..4).to_a)   #same as User.find([1,2,3,4])

# Will not raise an exception
User.find_all_by_id(1..4)  # Rails 3
User.where(id: 1..4)       # Rails 4

Som @diego.greyrobot noterar i en kommentar orsakar ett intervall en SQL BETWEEN-sats, medan en array orsakar en SQL IN-sats.

Gör inte använd User.find_by_id() -- Det kommer bara att returnera en post, oavsett hur ID:n du skickar in.



  1. Hur man migrerar från Oracle DB till MariaDB

  2. Viloläge på Oracle:mappa String-egenskapen till CLOB-kolumnen

  3. Codeigniter-transaktioner

  4. Implementera MariaDB-replikering för hög tillgänglighet