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

Ruby sort_by cho các mảng do MySQL trả về, ngày được định dạng dưới dạng chuỗi

Các phần tử dường như được lồng vào nhau sâu hơn bạn mong đợi. Thay đổi mã của bạn thành:

# use '{ }' instead of 'do end' for a single-line blocks
tasksByDate = tasks.sort_by { |task| task.first[:date].to_date }

Giải thích:

Những gì bạn thấy dưới dạng kết quả của p task :

[#<User id: 10, login: "my.name", hashed_password: "", date: "2016-08-29">]

Nó có nghĩa rằng đây là một Mảng các phần tử. Lưu ý dấu ngoặc nhọn đi kèm [ ] . Vì vậy, những gì bạn phải làm trong trường hợp này là task.first , sẽ trả về:

 #<User id: 10, login: "my.name", hashed_password: "", date: "2016-08-29">

Từ đó, bạn sẽ có thể truy cập các giá trị của phần tử bằng một khóa, giống như bạn đã định:

task.first[:date]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql không tăng tự động duy nhất, khóa chính hai trường

  2. Java JDBC -chèn bản ghi vào cơ sở dữ liệu chỉ khi nó không tồn tại

  3. số lượng riêng biệt (*)

  4. Làm thế nào để sử dụng toán tử IN với JDBI?

  5. Tổng số đang chạy MySQL với COUNT