让我的For Each
函数将数据库中的所有值显示到视图中时遇到一些麻烦。我哪里错了?不是后端专业人士,也不是我写的。数据库表非常简单,一列名为id
。我希望在每个行中显示每一行。
我有一个自定义的MY_Controller.php
文件,而_construct
我有这个,它在整个网站上填充变量。
$this->country_zones = $this->Studios_model->get_studios();
型号:
function get_studios()
{
//this will alphabetize them
$this->db->order_by('id', 'ASC');
$query = $this->db->get('gc_studio_zones');
foreach ($query->result() as $row)
{
$countries = $row->id;
}
return $countries;
}
在我看来:
<?php foreach($this->$country_zones as $country):?>
<li><?php echo $country['countries']->id;?></li>
<?php endforeach;?>
错误:
Cannot access empty property...etc
答案 0 :(得分:1)
我认为你的循环变量有一个拼写错误,它应该是this->country_zones
:
<?php foreach($this->country_zones as $country):?>
<li><?php echo $country->id;?></a></li>
<?php endforeach;?>
此外,您的Model不返回数组,而只返回最后一个ID。您需要将值推送到结果数组:
function get_studios()
{
//this will alphabetize them
$this->db->order_by('id', 'ASC');
$query = $this->db->get('gc_studio_zones');
$countries = array();
foreach ($query->result() as $row) {
$countries[] = $row;
}
return $countries;
}