Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Ruby sort_by dla tablic zwracanych przez MySQL, data sformatowana jako ciąg

Elementy wydają się być zagnieżdżone głębiej, niż się spodziewałeś. Zmień kod na:

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

Wyjaśnienie:

Co widzisz jako wynik p task :

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

Oznacza to, że jest to tablica elementów. Zwróć uwagę na otaczające nawiasy klamrowe [ ] . Więc to, co musisz zrobić w tym przypadku, to task.first , co zwróci:

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

Stamtąd powinieneś być w stanie uzyskać dostęp do wartości elementu za pomocą klucza, tak jak zamierzałeś:

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. Jakie są limity połączeń dla Google Cloud SQL z App Engine i jak najlepiej ponownie wykorzystać połączenia z bazą danych?

  2. MySQL z Node.js

  3. MySQL lub warunek

  4. Zainstalowany MacPorts PHP, teraz nie może współpracować z MySQL - Mac OS X

  5. MySQL:Wstaw rekord, jeśli nie istnieje w tabeli