CodeIgniter 将模型数据传递到视图


CodeIgniter passing model data to the view

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

$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>

不能在加载视图函数中传递简单的变量$result以进行查看。

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

$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