具有活动记录的 CodeIgniter COUNT?

CodeIgniter COUNT with active record?

我在 codeigniter 工作..我想数一数。具有相同 order_no 的行数。下面是我的代码。

public function get_my_orders() {
        $user_data = $this->session->all_userdata();
        $email = $user_data['user_email'];
            $this->db->select('*');
            $this->db->from('order_details');
            $this->db->where('email', $email);
            $this->db->group_by('order_no');
            $this->db->order_by('order_no', 'DESC');
            $query = $this->db->get();
            return $query->result();
    }

请帮忙..

尝试将 select 行更改为如下所示:

            $this->db->select('COUNT(*) as count');

您将只能访问一个名为 count 的变量,而不是像现在这样访问所有字段。为了让所有变量都可访问并添加计数,请改用:

            $this->db->select('*, COUNT(*) as count');

请随意更改 count 的小写名称,我只是以此为例。

勾选Codeigniter Manual

$query = $this->db->get();
return  $query->num_rows();  //Return total no. of rows here

$query->num_rows(); will count the total active record return by your query.

您可以使用$this->db->count_all_results()

 public function get_my_orders() {
    $user_data = $this->session->all_userdata();
    $email = $user_data['user_email'];
        //$this->db->select('*');// no need select as you only want counts
        $this->db->from('order_details');
        $this->db->where('email', $email);
        //$this->db->group_by('order_no');//no need group_by as you only want counts
        //$this->db->order_by('order_no', 'DESC');//no need order_by as you only want counts            
        return $this->db->count_all_results();;
}