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

Bản ghi hoạt động:Truy vấn JSON

Cái này:

#<ActiveRecord::Relation [#<Model id: 1, Model id: 2 ...>]

là kết quả của việc gọi inspect trên truy vấn và inspect sẽ chỉ hiển thị các cột mà mô hình biết về nó. Mô hình sẽ truy vấn bảng để tìm các cột trong khi khởi động, do đó nó sẽ chỉ biết về các cột thực sự có trong bảng.

ActiveRecord tạo các phương thức truy cập cột một cách nhanh chóng bằng cách sử dụng method_missing vì vậy nó có thể tạo các phương thức trong một truy vấn không phải là các cột trong bảng thực tế.

Vì vậy, data của bạn ở đó, bạn chỉ cần hỏi tên, ví dụ:

Model.select(:id, "json_field -> 'data' as data").map(&:data)

sẽ cung cấp cho bạn data giá trị.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cung cấp một câu lệnh đã chuẩn bị sẵn với một mảng

  2. Truy xuất tất cả các đặc quyền đối tượng cho vai trò cụ thể

  3. Kế hoạch thực thi truy vấn thay đổi thủ công PostgreSQL để buộc sử dụng sắp xếp và truy cập tuần tự thay vì quét toàn bộ

  4. Postgres tiêu đề cột động (từ một bảng khác)

  5. Khôi phục sau khi có lỗi trong giao dịch