我试图从数据库中获取未读帐户总数,该值已分配给$data['head']
我想全局使用$ data ['head'],因此它会自动加载到模板中并显示在标题上。
这样做的最佳方式是什么?
以下是我的控制器
function __construct()
{
parent::__construct();
$this->load->model('process_model');
$data['headbody']='includes/header';
$data['head'] = $this->process_model->loadnew($this->session->userdata('id'));
}
function invform()
{
$this->load->model('slave');
$data['body']='slave-account';
$data['questions'] = $this->slave->loadq($this->uri->segment(3));
$this->load->view('includes/template',$data);
}
查看
$this->load->view($head);
$this->load->view($body);
$this->load->view('includes/footer');
答案 0 :(得分:2)
首先需要使用变量范围将 $ data 放入函数外部的变量中。可以是私人的或公共的。在这种情况下,我将其设为私有。
这是一个快速修订:
private $data = array();
function __construct()
{
parent::__construct();
$this->load->model('process_model');
$this->data['headbody']='includes/header';
$this->data['head'] = $this->process_model->loadnew($this->session->userdata('id'));
}
function invform()
{
$this->load->model('slave');
$this->data['body']='slave-account';
$this->data['questions'] = $this->slave->loadq($this->uri->segment(3));
$this->load->view('includes/template',$this->data);
}
请注意 $ this->数据,而不是 $ data 。当我们在同一个类中访问变量但在函数外部时,我们使用 $ this 。