Come Ordinare Per Data, Se Il Campo È Di Testo ?

Ho una tabella (creata da un folle) che ha un campo che ospita delle date, solo che è un varchar e ha le date direttamente in formato italiano. gg/mm/yyyy

Ho creato il suo CRUD, ma ovviamente la CGridView non può ordinare correttamente le date in questo modo.

come faccio per impostare nel data provider un sort atttribute che usi la data in formato mysql, cioè magari usano “date_asc” => 'date_format(… , date) ASC " ?

qual’è la sinstassi?

Trovato !




'sort'=>array(

		        'attributes'=>array(

		            'Ultimo_carico'=>array(

		                'asc'=>"STR_TO_DATE(Ultimo_carico, '%d/%m/%Y') ASC",

		                'desc'=>"STR_TO_DATE(Ultimo_carico, '%d/%m/%Y') DESC",

		            ),

		            '*',

		        ),

		    ),



Comunque se becco quello che ha fatto il db in questo modo …

Non ti converrebbe, visto che ci sei, convertire le date in un campo DATE se conosci i punti di accesso in scrittura/lettura di questo campo?

Così risolvi il problema una volta per tutte.

sarebbe bello, si

lo farò, si

adesso, no

sto migrando una vecchia webapp, enorme, mi ci vogliono altri 5-6 mesi prima di spegnere la vecchia app

A quel punto avendo un unico model ‘base’ col nome del campo, e avendo sublime che fa il search&replace in maniera fenomenale, solo a quel punto potrò convertire il campo (e i vari nomi delle tabelle e dei campi, che in italiano mi fanno … venire i brividi)