如何调用控制器传输中的数据(数组)到查看页面

时间:2018-08-17 09:28:24

标签: php codeigniter

我想从控制器传输数据数组以查看页面,但我已经声明了一个变量($ data),该变量将传输到查看页面。

如何在控制器中传输2个或更多变量

这是我的代码

控制器

public function manifest() {
    $this->Auth->authCheck();
    $data = $this->template();

    $data_array = array(

    'voyage_info' => $this->PortManifestModel->get_voyage()->result(),

    );

    // your code here
    $this->load->view("port/client/manifest", $data);
}

查看页面

 <a class="btn btn-primary primary-bg btn-lg  col-md-4 m-2 btn-cus" href="#">

       <?php foreach($voyage_info as $voyage) {  ?>
           <h3>Voyage <?=$voyage->voyage_number?></h3>
           <small>Schedule</small>                                                     
     <?php }  ?>                                                              
  </a>

我想在视图页面中获取voyage_info或更多数据,而不仅仅是$data。 顺便说一下,$ data是模板的,所以我也需要它。

2 个答案:

答案 0 :(得分:2)

这样做

在控制器中

$data['template'] = $this->template();
$data['voyage_info'] = $this->PortManifestModel->get_voyage()->result();

$this->load->view("port/client/manifest", $data);

可见

$template # -> have your template data
$voyage_info # -> has your model data

答案 1 :(得分:1)

我有时会使用一种解决方法,即创建一个空的视图文件,然后将数据传递到该视图。

步骤1-在views文件夹中创建一个视图empty.php,并且不要在其中放置任何内容。

第2步-在加载普通视图之前调用视图加载。

$this->load->view("empty", $data);
$this->load->view("port/client/manifest", $data);