我在网上关注从CI模型中检索数据的示例。我在这里寻找答案,因为我的问题似乎很容易,但我尝试的每个例子仍然给我消息:未定义变量:更新和消息:为foreach提供的参数无效。有任何想法吗?
型号:
function list_updates(){
return this->db->get('updates')->result();
}
控制器
public function index()
{
$this->load->model('updates_model');
$data = array();
$data['updates'] = $this->updates_model->list_updates(); // if i do print_r before render, the data displays in the view (but not formatted correctly)
$this->_render('pages/publicfeed', $data);
}
查看
<div id="message_count" style="margin-left:40%;">
<?php
foreach ($updates as $up){
echo $up->update;
}
?>
</div>
答案 0 :(得分:0)
在您的视图文件中,您没有检查$updates
的记录位置。当你没有记录时,我认为你正面临着这个问题。所以在经过foreach lop之前先检查一下。
CI result()
函数将返回对象列表。因此,您可以使用count方法来检查记录计数。
<div id="message_count" style="margin-left:40%;">
<?php
if(count($updates)>0)
{
foreach ($updates as $up){
echo $up->update;
}
}
else
{
echo "<p>No Records found</p>";
}
?>
</div>
答案 1 :(得分:0)
您需要从查询中获取数据作为数组。
在模型中将result()
更改为result_array()
。 $up->update
到$up['column_name']
其中column_name是表格中列的名称,例如update_id
,update_title
等等。
这应该这样做。