sql >> Databáze >  >> RDS >> PostgreSQL

Rails Console vyhledá uživatele podle řady ID

Pro pole můžete použít jeden z těchto:

# 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

Pokud náhodou používáte rozsah, můžete použít tyto:

# 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

Jak poznamenává @diego.greyrobot v komentáři, rozsah způsobuje klauzuli SQL BETWEEN, zatímco pole způsobuje klauzuli SQL IN.

Ne použijte User.find_by_id() -- Vrátí pouze jeden záznam, bez ohledu na to, jaká ID předáte.



  1. Jak upgradovat MySQL 5.5 na 5.6 na Ubuntu 14.04

  2. jak vybrat seznam 10 000 jedinečných ID z dual v Oracle SQL

  3. CTE získat všechny děti (potomky) rodiče

  4. 4 tipy pro nastavení upozornění SQL Server