CodeIgniter将模型数据传递给视图

时间:2016-01-26 17:33:52

标签: php codeigniter

我有一个模型方法,它返回时间和视图来传递数据。但是当我传递数据时,我得到未定义变量错误消息。

$this->load->model('Driver_model');
$result = $this->Driver_model->get_shift_data($id);

这是方法调用,如果我使用 var_dump($ result)。我得到了以下结果。

array (size=1)
  0 => 
    object(stdClass)[26]
      public 'start_time' => string '2016-01-22 05:32:42' (length=19)

但是如果我将$ result发送给视图,我会收到错误。

$this->load->view('driver/report_view.php', $result);

我的问题是,如果我不加载视图,如何在控制器中工作。但是如果我发送数据,它就不会识别变量。

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: result

Filename: driver/report_view.php

Line Number: 52

Backtrace:

File: C:\wamp\www\cabs\application\views\driver\report_view.php
Line: 52
Function: _error_handler

File: C:\wamp\www\cabs\application\controllers\Driver.php
Line: 44
Function: view

File: C:\wamp\www\cabs\index.php
Line: 292
Function: require_once

我也在视图中使用var_dump($ result)测试了它。

      <div class="panel-body">
Line 52    <?php var_dump($result); ?>                              
        <form>

1 个答案:

答案 0 :(得分:0)

您无法在视图的加载视图函数中传递简单变量$result

您需要创建一个关联数组,以便从控制器发送数据。您可以使用as:

$this->load->model('Driver_model'); $data['result'] = $this->Driver_model->get_shift_data($id);

现在将$data数组发送到您的视图:

$this->load->view('driver/report_view.php', $data);

现在,您可以在视图文件中使用var_dump()

<?php var_dump($result); ?>

请注意如果您想从控制器发送任何其他数据进行查看,您可以使用相同的示例。

有关详细说明,请参阅此示例:

$data['result'] = 1;
$data['result2'] = 2;
$data['result3'] = 3;

$this->load->view('yourview', $data);

在视图中,您可以获取数据:

echo $result; // 1
echo $result2; // 2
echo $result3; // 3