我想知道$this->load->vars()
CodeIgniter 是如何工作的.文档对此非常模糊.
我有以下代码:
$init = $this->init->set();
$this->load->view('include/header', $init);
$this->load->view('include/nav');
$dates = $this->planner_model->create_date_list();
$this->load->view('planner/dates_content', $dates);
$detail = $this->planner_model->create_detail_list();
$this->load->view('planner/detail_content', $detail);
$this->load->view('include/footer');
Run Code Online (Sandbox Code Playgroud)
但是,我$dates
在detail_content
视图中也需要数组.我试图加载它$this->load->vars()
并希望它会附加到$detail
数组,因为CI文档声明如下:
您可以多次调用此函数.数据被缓存并合并到一个数组中以转换为变量.
如果我这样做会有用$detail['dates'] = $dates;
吗?它会附加$dates
数组$detail['dates']
吗?
提前致谢.
$this->load->vars()
非常适合这个目的.试试这个:
$init = $this->init->set();// Won't be passed to the next 2 views
$this->load->view('include/header', $init);
$this->load->view('include/nav');
$dates = $this->planner_model->create_date_list();
$this->load->vars($dates);
$this->load->view('planner/dates_content');
$detail = $this->planner_model->create_detail_list();
$this->load->vars($detail);
$this->load->view('planner/detail_content');
Run Code Online (Sandbox Code Playgroud)
对我来说很奇怪的是,通常你将一个关联数组作为数据传递$data['my_var_name'] = $var_value
,所以我假设你的模型调用返回已经用你在视图中使用的变量名(数组键)构建的数据,我发现奇怪,但后来我对你的申请一无所知.
这是一个更"传统"的版本:
$data['dates'] = $this->planner_model->create_date_list();
$this->load->view('planner/dates_content', $data);
$data['detail'] = $this->planner_model->create_detail_list();
// receives both dates and detail
$this->load->view('planner/detail_content', $data);
Run Code Online (Sandbox Code Playgroud)