I have a model a method in my Model as
public function selectWhereLimitOffset($table_name, $where = NULL, $limit, $offset)
{
if ($where) {
$this->db->where($where);
}
$this->db->order_by('post_id', "desc");
if($limit)
$this->db->limit($limit, $offset);
$result = $this->db->get($table_name);
return $result->result();
}
I'm calling this method from this function in my controller:
public function exams($page_id = NULL)
{
$offset = 0;
if($page_id == NULL)
$offset = 1;
else
$offset = ($page_id * 10);
$limit = 10;
$data['main_content'] = 'dashboard/exams';
$data['page_errors'] = FALSE;
$where = NULL;
$data['results_exam'] = $this->Fetch->selectWhereLimitOffset('exam', $where, $limit, $offset);
$data['results_count_total'] = $this->Fetch->getCount('exam');
$this->load->view('includes/template_su', $data);
}
Now the weird thing here is, the method selectWhereLimitOffset() works fine if called from other similar methods in my controller. But when called from this method exams(), it doesn't fetch the data from the table. A similar method that work perfectly fine is:
public function posts($page_id = NULL)
{
$offset = 0;
if($page_id == NULL)
$offset = 1;
else
$offset = ($page_id * 10);
$limit = 10;
$data['main_content'] = 'dashboard/posts';
$data['page_errors'] = FALSE;
$where = NULL;
$data['results_post'] = $this->Fetch->selectWhereLimitOffset('post', $where, $limit, $offset);
$data['results_count_total'] = $this->Fetch->getCount('post');
$this->load->view('includes/template_su', $data);
}
One more thing, the next statement:
$data['results_count_total'] = $this->Fetch->getCount('exam');
does return the count of rows from the table, so that proves that there's no issue with the table name. The table has only one row, if that might help. The output of the data array is as follows:
Array
(
[main_content] => dashboard/exams
[page_errors] =>
[results_exam] => Array
(
)
[results_count_total] => 1
)
Please help.