我有一个 ci / bonfire 应用程序。我正在尝试遍历查询结果。但是,在我看来,循环遍历记录及其各个字段的逻辑失败,并显示我正在尝试获取非对象的属性。我已经确保在我的模型中,只有当我有东西要返回时,我才会返回数据......就像这样:
if ($query->num_rows() > 0)
{
return $query->result_array(); //returns an object of data
}
在视图中,我还添加了以下调试语句来证明我正在取回数据:
print_r($records);
这给了我以下输出:(我只包含了一个简短的子集..)
Array ( [0] => Array ( [category_id] => 59 [name] => procs [description] => [parent_id] => 4 [deleted] => 0 [created_on] => 2012-09-28 00:00:00 [modified_on] => 0000-00-00 00:00:00 ) [1] => Array ( [category_id] => 62 [name] => test [description] => [parent_id] => 4 [deleted] => 0 [created_on] => 2012-09-28 00:00:00 [modified_on] => 0000-00-00 00:00:00 )
最后,这是我用来循环 $records 的逻辑(同样,只是子集):
<?php foreach ($records as $record) : ?>
<tr>
<td><input type="checkbox" name="checked[]" value="<?php echo $record->category_id ?>" /></td>
它在调用$record->category_id
编辑 1
我的控制器创建的用于从同一个表返回所有记录的 index() 方法成功地使用$record->category_id
了视图中的语法。我知道我可以使用$record['category_id']
,但我想知道为什么我不能让它以另一种方式工作。
任何建议,将不胜感激。谢谢。