Я предполагаю, что $data['status']
перезаписывается при каждой итерации, оставляя значение 0
, когда оно передается в представление.
Трудно сказать точно, не видя соответствующего кода «в контексте», но вы можете сделать это:
$data['states'] = $this->state_model->get_cities();
$data['status'][] = $this->state_model->get_status(); // adding brackets - now $status will be an array
Затем вы можете просмотреть $status
в представлении:
foreach ($status as $s)
{
echo $s . "\n";
}
ОБНОВЛЕНИЕ
После просмотра большего количества кода.Кажется, вы перезаписываете $sql
в методе get_status()
модели.Измените это на следующее:
function get_status(){
$states = $this->db->get('state');
$like = array();
foreach ($states->result() as $state){
$cities = $this->db->get_where('city', array('state_id'=> $state->id));
foreach ($cities->result() as $v){
$s=$v->city_id."<br/>";
$this->db->where('city_city_id',$v->city_id);
$this->db->where('status_status_id',1);
$q=$this->db->get('info');
$sql[] = $q->num_rows(); // add the array brackets
}
}
// move this down outside of the first foreach loop
return $sql; // now $sql is an array of values
}
Затем ваш вызов $data['status'] = $this->state_model->get_status();
возвращает массив и может быть перебран в виде:
foreach ($status as $s)
{
echo $s . "\n";
}