我有一个这样的模型:
public function selectRequestPerUser($nama_user) {
$query = $this->db->get_where('tbl_requestfix', array('nama_user' => $nama_user));
return $query->result_array();
}
在控制器上,我写道:
$request = $this->model_request->selectRequestPerUser($this->session->userdata('nama'));
$total_rows = $request->num_rows();
浏览器给出了这样的错误:
Fatal error: Call to a member function num_rows() on a non-object
我需要num_rows的结果来创建分页,感谢您的帮助。
答案 0 :(得分:1)
而不是在num_rows()
中获取controller
您需要编写一个新查询来获取模型文件中的总行数,并从控制器中调用它,如下所示。
<强>控制器强>
$total_rows = $this->model_request->countPerUser($this->session->userdata('nama'));
<强>模型强>
public function countPerUser($nama_user) {
$query = $this->db->get_where('tbl_requestfix', array('nama_user' => $nama_user));
return $query->num_rows();
}
为什么会出现此错误
Fatal error: Call to a member function num_rows() on a non-object
因为num_rows()
仅适用于查询实例。我们可以使用num_rows()
来获取数组或对象上的行数。
答案 1 :(得分:0)
在你的模特中
public function selectRequestPerUser($nama_user) {
$query = $this->db->get_where('tbl_requestfix', array('nama_user' => $nama_user));
return $query;
}
然后在控制器中使用num_rows()
函数
答案 2 :(得分:0)
只需使用sizeof()
型号: (与您的相同)
public function selectRequestPerUser($nama_user)
{
$query = $this->db->get_where('tbl_requestfix',
array('nama_user' => $nama_user));
return $query->result_array();
}
<强>控制器:强>
$request = $this->model_request->selectRequestPerUser($this->session->userdata('nama'));
$total_rows = sizeof($request);