Codeigniter:按日期升序排列

Codeigniter: Order by ascending date

您好,这是我用于订购和获取数据的模型代码:

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

一切正常,但是在我的数据库中我将​​日期存储为字符串,例如2014 年 1 月 1 日。

因此,当我订购日期时,它会按天而不是按年订购,请问我如何通过按年份排序来解决这个问题,但是数据仍会显示为 01-Jan-2014 和还会按升序显示吗?谢谢!

错误:

我想 $oBy 是你的列名

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

%d = 一个月中的第几天,数字 (00..31)

%b = 缩写月份名称 (Jan..Dec)

%Y = 年份,数字,四位数字

$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
//you can do select more.
$this->db->order_by('day','ASC');
$query = $this->db->get('books');

这将解决您的问题