Почему CI не конвертирует оператор count в массив? - PullRequest
2 голосов
/ 17 июня 2019

Я пытаюсь сделать так, чтобы вы могли просматривать количество строк чего-либо на моем веб-сайте, я преобразовал результат в массив и затем передал его в представлении, но он называет аргумент недействительным.

Как я уже сказал, я попробовал обычное, передав данные из модели в контроллер, а затем в представление. Я попытался вернуть $query->num_rows(); и count_all_results обратно в массив контроллеров для использования в представлении, оба недопустимы.

controller.php

  $this->load->model('Main');
  $data = array(
    'getapps' => $this->Main->countapps()
  );
  $this->load->view('header', $data);

view.php

<?php foreach($getapps as $apps) {
?>

<a href="http://localhost/Dir/index.php/Controller/Apps" class="a-m" id="a-m-id">apps <strong><?php echo $apps; ?></strong></a>

<?php }
?>

model.php

public function countapps() {

$this->db->where('usedby', $_SESSION['uid']);
$this->db->get_where('apps', 'appstatus', 'Used');
$stmt = $this->db->count_all_results();

  return $stmt;
}

Я ожидаю, что представление отобразит количество строк, вместо этого оно сообщает, что аргумент foreach указан неверно.

1 Ответ

2 голосов
/ 17 июня 2019

In CI $this->db->count_all_results() заменяет $this->db->get() в запросе базы данных.Поэтому вы не можете одновременно использовать $this->db->get_where() и $this->db->count_all_results(), вместо этого используйте num_rows().

напишите свою модель следующим образом:

public function countapps() {

 $query=$this->db->where('usedby', $_SESSION['uid'])
                 ->get_where('apps', 'appstatus', 'Used');
  $stmt = $query->num_rows();

  return $stmt;
}

вы можете изменить в своем контроллерекороче:

$data['getapps'] => $this->Main->countapps();

Тогда, по вашему мнению, вам не нужно использовать foreach(), так как $ data ['getapps'] не массив, а число.Вы можете вывести его в виде просто как

echo $getapps;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...