Я работаю над одним запросом Join в CodeIgniter. Запрос выполняется отлично. Проблема заключается в $query->num_rows()
я пишу свой запрос на соединение.
$this->db->select('related colums'); $this->db->from('table1 as t1'); $this->db->join('table2 as t2', 't1.id = t2.id', 'left outer'); $this->db->join('table3 as t3', 't1.id_second = t3.id', 'left outer'); $this->db->where('t1.column', $some_varibale); $this->db->order_by("t1.column", "desc"); $query = $this->db->get(); $query_result = $query->result_array(); $number_of_row = $query->num_rows(); // This line of code is not working properly. print_r($number_of_row); // To check result is empty or not. if(!empty($query_result)){ echo 'not empty'; } else { echo "empty"; }
Когда я печатаю $number_of_row
он дает мне 13, но когда я печатаю $query_result
он покажет только одну строку, которая является правильным результатом (я дважды проверил ее), поэтому проблема в том, что я ожидал, что $query->num_rows()
будет верните мне 1, если я получу только одну строку в результате.
У меня есть перекрестная проверка, когда я получаю пустой результат, тогда он будет показывать 0, как ожидалось. но, как описано выше, когда я получаю одну строку, результат будет показывать 13 чисел.
Я знаю count
и он будет работать, но вопрос в том, почему этот $query->num_rows()
работает некорректно?
Я не понял, что я делаю неправильно?
Попробуй это:
$number_of_row = $this->db->affected_rows();
дай мне знать, если это работает