PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Konsola Rails znajduje użytkowników według tablicy identyfikatorów

W przypadku tablicy możesz użyć jednego z poniższych:

# 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

Jeśli używasz zakresu, możesz użyć tych:

# 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 zauważa @diego.greyrobot w komentarzu, zakres powoduje klauzulę SQL BETWEEN, podczas gdy tablica powoduje klauzulę SQL IN.

Nie użyj User.find_by_id() -- Zwróci tylko jeden rekord, bez względu na to, ile identyfikatorów przekażesz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. nie można usunąć obiektu z powodu ograniczenia klucza obcego

  2. Jak odczytać wszystkie wiersze z ogromnego stołu?

  3. Czy można zdefiniować zmienne globalne w postgresql

  4. jak przechowywać jsonb PostgreSQL za pomocą SpringBoot + JPA?

  5. Jak mogę użyć zapytania z symbolem zastępczym w cudzysłowie? (perl / postgresql)