我们可以在ci中同时从控制器传递数组和对象到视图吗?

时间:2015-02-22 12:20:08

标签: codeigniter model-view-controller codeigniter-2

我有这样的对象 $interest

    Array
(
    [0] => Array
        (
            [item_id] => 7
            [item_name] => Jogging
        )

    [1] => Array
        (
            [item_id] => 8
            [item_name] => Entertainment
        )

)

和这样的数组 $profile

Array
(
    [username] => admin
    [email] => 
    [fullname] => 
    [profile] => http://pickaface.net/includes/themes/clean/img/slide4.png
)

我已将其发送到以下视图

$this->load->view('users/profile',$profile,$interest);

但是当这样传递时我无法检索$interest个对象。在profile视图 但如果我只通过$interest,我就能得到它。问题是当我一次两次通过时

2 个答案:

答案 0 :(得分:3)

$this->load->view函数需要三个参数:(Loading Views

  1. 查看uri(您输入的是正确的)

  2. 关联数组(key => value)包含要在视图结尾处检索的数据单元为$ key

  3. 布尔值(可选),可用于更改函数的行为,以便将数据作为字符串返回(如果设置为true)或将其发送到浏览器(如果设置为false,则为默认值) )

  4. 要发送多个数据单元,您必须使用关联数组。 尝试发送如下数据:

    $data = array(
       'interest' => $interest,
       'profile' => $profile,
    );
    
    $this->load->view('users/profile',$data);
    

    在profile.php视图文件中,您可以将此数据检索为$ interest和$ profile。

答案 1 :(得分:1)

加载View时,您必须传递Deepak所述的$ data数组。但是为了将$ profile作为对象访问,您必须先在控制器中对其进行序列化,然后在View中对其进行反序列化。