Search code examples
phpcodeigniterpaginationwhere-clausemysql-num-rows

Fatal error: $this->db->where()->join()->num_rows()


I want to make codeigniter pagination with where db query.

My model: (update)

public function get_all_produk_row($url = ''){
  data = array();
  $this->db->where(array('kategori.url'=>$url,'produk.status_produk'=>'1'));
  $this->db->order_by('kategori_id');
  $this->db->join('kategori','kategori.id_kategori=produk.kategori_id');
  $this->db->num_rows();
  return $data;
}

But I got Fatal error: Call to undefined method CI_DB_mysql_driver::num_rows().

How can I solve it?


My database

Kategori:

id_kategori
kode_kategori
url

Produk:

id_produk
kategori_id
kode_produk
status_produk

Solution

  • You can get no of rows after calling get() function as:

    public function get_all_produk_row($url = '')
    { 
        $data = array(); 
        $this->db->where(array('kategori.url'=>$url,'produk.status_produk'=>'1')); 
        $this->db->join('kategori','kategori.id_kategori=produk.kategori_id'); 
        $this->db->order_by('kategori_id'); 
        $query = $this->db->get();
    
        if ($query->num_rows() > 0)
        {
             $data = $query->result_array();
        }
        return $data;
    }