模型内部的方法:
public function get_fichas(){ $query = $this->db->query("SELECT * FROM fichas;"); return $query->result(); }
然后,我试图将这些数据传递给控制器。控制器上的方法:
public function listar_fichas(){ $data['fichas_info'] = $this->fichas_model->get_fichas(); $this->load->view('templates/header'); $this->load->view('fichas/listar_fichas', $data); }
当我尝试在视图中列出数据时,出现以下错误:
“致命错误:无法将类型为stdClass的对象用作数组”
这是我要列出的方法:
查看文件:
<?php foreach($fichas_info as $row){?> <table> <tr> <td><?php echo $row['cod_produto'] ;?></td> <td><?php echo $row['nome_produto'] ;?></td> <td ><?php echo $row['versao'];?></td> </tr> </table> <?php }?>
我认为我在观点上做错了。也许我没有正确地将数据传递给视图。有人可以告诉我我做错了吗?谢谢!
<td><?php echo $row['cod_produto'] ;?></td> <td><?php echo $row['nome_produto'] ;?></td> <td><?php echo $row['versao'];?></td>
应该:
<td><?php echo $row->cod_produto ;?></td> <td><?php echo $row->nome_produto ;?></td> <td ><?php echo $row->versao;?></td>
结果集是一个对象,因此每个列名称都是该对象的属性。您正在将它们作为数组的索引进行访问。