将模型数据传递给视图中的子视图

时间:2012-11-25 16:37:46

标签: codeigniter fatal-error php

  

可能重复:
  Call to a member function on a non-object

在我的主页视图中,我试图将数据传递到我的标题子视图

<?php
  $this->load->model('header2');
  $head = $this->header2->HeaderData();
  $this->load->view('head_view', $head);
?>    

但是我收到了这个错误:

  

消息:未定义属性:CI_Loader :: $ header2
  致命错误:在第6行的H:\ Forum \ application \ views \ homepage_view.php中的非对象上调用成员函数HeaderData()

1 个答案:

答案 0 :(得分:1)

在控制器方法中编写代码并仅在那里加载视图表单,并使用这样的代码

 $this->load->model('header2');
 $data['head'] = $this->header2->HeaderData();
 $this->load->view('head_view', $head);

并在head_view.php视图中将此属性作为$ head访问

echo '<pre>';
print_r($head);
echo '</pre>';

如果你正在加载主视图然后调用其中的子视图,那么你不需要在加载视图时传递值,你可以直接访问子视图中的值,这样你就可以直接在subivew中使用$head