将数组从控制器传递到视图再次查看

时间:2015-02-27 07:31:32

标签: php codeigniter view controller

这是我的控制器代码..

 $data1['billing_info']=$this->billings->get_info1($billing_id);
    $data2['sale_info']=$this->billings->get_sale_info($billing_id);
    $data3['sale_payment_info']=$this->billings->get_sale_payment_info($billing_id);
    $data['all_modules']=$this->Module->get_all_modules();
    $array=array('data1'=>$data1,
                    'data2'=>$data2,'data3'=>$data3,);
                    print_r($array);
 $this->load->view("billing/form1",$array);

这是我的form1.php代码

<?php $this->load->view("billing/form_basic_info1"); ?>

所以我再次希望将$array传递给form_basic_info1视图。那我该怎么办?

2 个答案:

答案 0 :(得分:1)

默认情况下,子视图可以访问父视图的变量。

答案 1 :(得分:1)

在控制器e.x中你有$array['name'],在第一个视图中你可以访问$ name,因为我知道你无法将整个控制器的数组传递给第二个视图。请在您的视图中尝试此操作:

//first view
//you have access to $name from controller
$data['new_name'] = array();
foreach($name as $row){
    array_push($data['new_name'], $row->name);
}
//pass $data to other view