Как подсчитать строки в таблице в структуре CodeIgniter? - PullRequest
2 голосов
/ 03 декабря 2011

Я пытаюсь посчитать количество строк в таблице.В таблице есть fk 'city_id'.Я хочу посчитать номер строки, которая соответствует определенным критериям, и хочу повторить число.

Я пробовал использовать следующий код:

function count(){

  $citys = $this->db->get('city');

  foreach ($citys->result() as $city) {

    $this->db->where('info', array('city_city_id'=>$city->city_id) AND status_status_id==1);
    $sql = $this->db->count_all('info');

  }

  return  $sql->result;
} 

Контроллер:

  $data['city'] = $this->state_model->count();
  $this->load->view('sview', $data);

Просмотр:

 <?php foreach($citys as $cities):?>
        <h4><?php echo $city ?>
      <?php endforeach;?></br></br>

В моей модели я пытаюсь подсчитать количество строк, где, скажем, city_city_id = 1 и status_status_id = 1 в моей таблице 'info'.Но я получаю следующую ошибку:

   Severity: Notice

 Message: Use of undefined constant status_status_id - assumed 'status_status_id'

 Filename: models/State_model.php

 Line Number: 98

В строке 98 у меня есть

         $this->db->where('info', array('city_city_id'=>$city->city_id) AND                    status_status_id==1);

Я недавно работаю с codeigniter, поэтому будет полезна небольшая помощь.

Заранее спасибо.

Ответы [ 2 ]

7 голосов
/ 03 декабря 2011

Это должно помочь вам:

$this->db->where('city_id', $city_id);
$this->db->from('city');
return $this->db->count_all_results();

Возвращает целое число. CodeIgniter Active Record

Вы не можете использовать SQL-запросы в середине PHP, поэтому AND нарушает его.Вам не нужно объединять запросы с AND, CodeIgniter сделает это за вас.

0 голосов
/ 06 мая 2012

ваше куда должно идти как

    $this->db->where('info', array('city_city_id'=>$city->city_id, 
'status_status_id'=>'1'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...