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

Rails Console намира потребители по масив от идентификатори

За масив можете да използвате едно от следните:

# 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

Ако случайно използвате диапазон, можете да използвате тези:

# 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

Както @diego.greyrobot отбелязва в коментар, диапазонът причинява SQL клауза BETWEEN, докато масивът причинява SQL IN клауза.

Не използвайте User.find_by_id() -- Ще върне само един запис, без значение как можете да подадете идентификатори.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. INSERT COMMAND ::ГРЕШКА:стойността на колоната не съществува

  2. Как да върнете идентификатори на вмъквания с Ibatis (с ключова дума RETURNING)

  3. Актуализиране на редовете на базата данни без заключване на таблицата в PostgreSQL 9.2

  4. Сортиране на нулеви стойности след всички останали, с изключение на специални

  5. psycopg2.OperationalError:ФАТАЛНО:неподдържан интерфейсен протокол 1234.5679:сървърът поддържа от 2.0 до 3.0