如何使用Codeigniter活动记录按日期分组?

hai*_*ets 6 datetime group-by codeigniter date

我想按日期将数据分组到我的博客表中.

我的数据库中有一个datetime字段,我将用它按月和年分组数据.(例如2012-01-23 17:25:18)

我已将以下代码添加到我的模型中,尝试按月和年分组数据(如存档)

function get_archive_links(){

        $this->db->order_by('date','desc');
        $this->db->group_by(Month('date'), Year('date')); 
        $query = $this->db->get('blog'); 

    foreach ($query->result() as $row) {
        $data[] = array(
            'id' => $row->id,
            'date' => $row->date
        );
    }

    return $data;
}
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误: Fatal error: Call to undefined function Month()

希望结果如下:

  • 2012年2月
  • 2012年1月
  • 2012年12月

小智 8

这条线,

$this->db->group_by(Month('date'), Year('date')); 
Run Code Online (Sandbox Code Playgroud)

月是这个行的php函数.如果你想使用sql MONTH和YEAR函数,这行必须是这样的,

$this->db->group_by('MONTH(date), YEAR(date)');
Run Code Online (Sandbox Code Playgroud)