Codeigniter: orden por fecha ascendente

Hola, este es mi código modelo para ordenar y obtener los datos:

$this->db->order_by($oBy, "asc"); $query = $this->db->get('books'); 

Todo funciona bien, sin embargo, en mi base de datos estoy almacenando la fecha como una cadena, por ejemplo, 01-ene-2014.

Por lo tanto, cuando ordeno la fecha, la ordenaré por día y no por año, y puedo saber cómo puedo solucionarla ordenando por año, sin embargo, los datos se mostrarán como 01-ene-2014 y también se mostrarán. ¿en orden ascendente? ¡Gracias!

Error: enter image description here

 $this->db->select('str_to_date('.$oBy.', "%d-%b-%Y") day',false);//select your colum as new column name wich is converted as str ot date //yo can do select more. $this->db->order_by('day','ASC'); $query = $this->db->get('books'); 

Esto resolverá su problema

Supongo que $ oBy es tu nombre de columna

 $this->db->order_by("str_to_date(" . $oBy . ", '%d-%b-%Y')", "asc"); 

% d = Día del mes, numérico (00..31)

% b = nombre abreviado del mes (Jan.Dec)

% Y = año, numérico, cuatro dígitos