PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Rails Console tìm người dùng theo mảng id

Đối với một mảng, bạn có thể sử dụng một trong các cách sau:

# 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

Nếu bạn tình cờ sử dụng một dải ô, bạn có thể sử dụng các giá trị sau:

# 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

Như @ diego.greyrobot lưu ý trong một nhận xét, một phạm vi gây ra mệnh đề SQL GIỮA, trong khi một mảng tạo ra mệnh đề SQL IN.

Đừng sử dụng User.find_by_id() - Nó sẽ chỉ trả về một bản ghi, bất kể bạn có thể chuyển ID bằng cách nào.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PGError:ERROR:quyền bị từ chối đối với mối quan hệ (khi sử dụng Heroku)

  2. Ổ cắm miền PostgreSQL UNIX so với ổ cắm TCP

  3. Đổi tên bảng một cách an toàn bằng cách sử dụng các cột khóa chính nối tiếp

  4. Làm cách nào để đặt giới hạn kích thước cho kiểu dữ liệu int trong PostgreSQL 9.5

  5. Chạy nhiều phiên bản PostgreSQL trên một máy chủ duy nhất