sql >> Database >  >> RDS >> Mysql

Ruby sort_by voor arrays geretourneerd door MySQL, datum geformatteerd als string

De elementen lijken dieper genest dan je had verwacht. Verander uw code in:

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

Uitleg:

Wat je ziet als een uitvoer van p task :

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

Het betekent dat dit een array van elementen is. Let op de omsluitende accolades [ ] . Dus wat je in dit geval moet doen is task.first , die zal terugkeren:

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

Van daaruit zou je met een sleutel toegang moeten hebben tot de waarden van het element, zoals je bedoeld had:

task.first[:date]



  1. Snapshot-replicatie maken

  2. Wat is de lengte die ik moet specificeren voor string versleuteld met AES-256-CBC in de database?

  3. Verbind computer-database-jpa Play 2.1 voorbeeldtoepassing met MySQL

  4. mysql gebruikersaanmelding telt tussen groepen