CodeIgniter $ this-> load-> vars()

cab*_*ret 4 php codeigniter

我想知道$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)

但是,我$datesdetail_content视图中也需要数组.我试图加载它$this->load->vars()并希望它会附加到$detail数组,因为CI文档声明如下:

您可以多次调用此函数.数据被缓存并合并到一个数组中以转换为变量.

如果我这样做会有用$detail['dates'] = $dates;吗?它会附加$dates数组$detail['dates']吗?

提前致谢.

Wes*_*rch 5

$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)