无法从控制器传递变量以在CodeIgniter中查看

问题描述

我在尝试将变量从控制器传递到视图时遇到问题。我想我在某个地方犯了一个错误,因为我是新手,所以找不到。

我的控制器方法是:

    public function paymentdetail($order_code)
{
    $this->load->model('Payment_Model');
    $paymentDetail = $this->Payment_Model->getpaymentdetail($order_code);
    $orderDetail = $this->Payment_Model->getOrderDetail($order_code);
    //        echo print_r($paymentDetail);
    $datas['content'] = $this->load->view('payment/paymentDetail',array('paymentDetail' => $paymentDetail,'orderDetail' => $orderDetail),true);
    $this->load->view('layouts/main_template',$datas);
}

以下模型函数getpaymentdetail()返回一个数组(result_array()),这是我所关心的。如果我可以解决这个问题,那么我也可以使用其他模型方法。

$this->Payment_Model->getpaymentdetail($order_code);

当我在视图文件(PaymentDetail.php)中输入<?php echo $paymentDetail['column_name']; ?>时出现错误

Undefined index: column_name

为什么会出现此错误?

解决方法

模型函数getpaymentdetail()返回一个数组(result_array())

通常,这些数组的结构如下:

Array
(
    [0] => Array
        (
            [ID] => 3120
            [column_name] => col1
         )
)

因此您无法通过<?php echo $paymentDetail['column_name']; ?>访问column_name,因为此索引在您的数组结构中不存在。

如果将索引更深一点,它将起作用:<?php echo $paymentDetail[0]['column_name']; ?>

注意,如果您希望返回多于1行,则上面的内容将仅访问第一个结果(索引为0)行!您需要一个foreach循环来获取所有结果,请参见Generating Query Results - result arrays

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...