如何解决无法从控制器传递变量以在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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。