我正在尝试使用codeigniter创建一个多级列表。该列表看起来像:
State1
city1
city2
state2
city3
等。
但是当我运行代码时,我得到了错误
Severity: Notice
Message: Undefined property: stdClass::$city
Filename: views/testview.php
Line Number: 32
在第32行,我有:
<?php foreach($state->city as $city):?>
我的控制器:
//....
$data['states'] = $this->state_model->get_cities();
$this->load->view('testview', $data);
我的模型:
function get_cities(){
$states = $this->db->get('state');
foreach ($states->result() as $state){
$cities = $this->db->get_where('city', array('state_id'=>$state->id));
$state->cities = $cities->result();
}
return $states;
}
视图:
<?php foreach($states as $state):?>
<h4><?php echo $state->statename;?></h4>
<?php foreach($state->city as $city):?>
<?php echo $city->cityname; ?>
<?php endforeach;?>
<?php endforeach;?>
将第32行改为
<?php foreach($state->cities as $city): ?>
您正在寻找cities
属性。在您的模型中,城市结果分配给
$state-> $states数组中的城市。