我有一个模型方法,它返回时间和视图来传递数据。但是当我传递数据时,我得到未定义变量错误消息。
$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>
答案 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