sql >> Databáze >  >> RDS >> Mysql

Ruby sort_by pro pole vrácená MySQL, datum formátované jako řetězec

Prvky se zdají být vnořeny hlouběji, než jste očekávali. Změňte svůj kód na:

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

Vysvětlení:

Co vidíte jako výstup p task :

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

To znamená, že se jedná o pole prvků. Všimněte si přiložených složených závorek [ ] . V tomto případě tedy musíte udělat task.first , což vrátí:

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

Odtud byste měli mít přístup k hodnotám prvku pomocí klíče, jak jste zamýšleli:

task.first[:date]



  1. Pomocí procedury pl-sql nebo kurzoru vyberte první 3 pořadí

  2. mysql různé skupiny v jednom dotazu

  3. Vygenerujte n řádků NULL v PostgreSQL

  4. Funkce PHP a MySQL odstraní nezaškrtnuté kategorie z problému databáze