CodeIgniter将数据传递到视图中

时间:2013-09-26 01:44:54

标签: codeigniter

我需要从控制器一直传递数据 - > page(view) - >用户(查看)。 如何将数据从我的控制器传递到最嵌套的视图?

  1. 在我的控制器中,我得到一些名为$ users的数据。
  2. 在我的控制器中,我加载了一个名为“page”的视图。
  3. 在我的名为“page”的视图中,我加载了名为“users”的视图。
  4. 以下是我认为可以做到的示例。这是聪明还是不正确?

    在我的控制器中,我可以这样做:

    $data['users'] = $array_of_user_objects;
    $this->load->view('page', $data); 
    

    然后在我的页面(视图)中,我可以这样做:

    <div>
      <h1>Im a page!</h1>
      <?php $this->load->view('users', $users); ?>    
    </div>
    

    然后在我的用户(视图)中我可以这样做:

    <h1>Hi my name is: <?php echo $name; ?></h1>
    

3 个答案:

答案 0 :(得分:2)

如果你在控制器中做事,比如

$data['users'] = $array_of_user_objects;
$this->load->view('page', $data);

然后在页面(视图)中你可以做到

<div>
    <h1>Im a page!</h1>
    <?php echo $users->name ?> //if its an object otherwise $users['name']   
</div>

和您的用户(查看)

<h1>Hi my name is: <?php echo $users->name; ?></h1> //if its an object otherwise $users['name']

如果您遇到任何问题,请告诉我。

答案 1 :(得分:0)

控制器中的

$users = $array_of_user_objects;
$data['users'] = $this->load->view('users', $users, true);
$this->load->view('page', $data); 
在“页面”视图中

<div>
<h1>Im a page!</h1>
  <?=$users ?>    
</div>

答案 2 :(得分:0)

您不需要使用<?php $this->load->view('users', $users); ?>

但是<?php $this->load->view('users'); ?>

你需要像你这样的用户视图中的循环

<?php foreach($users as $user): ?>
Hi my name is: <?php echo $user->name; ?>
<?php endforeach;?>