【问题标题】:Undefined class property未定义的类属性
【发布时间】:2017-04-08 09:42:30
【问题描述】:
///DATA MODEL
class Data extends CI_Model{
    function __construct() {
        parent::__construct();
    }
    function read_record(){
        $q = $this->db->get('category');
        return $q->result();
    }
}

//in Controller
class Test_admin extends CI_Controller{
    function index(){
        $this->load->model('data');
        $dat = array();
        if( $q = $this->data->read_record()){
         $dat['record'] = $q;
        }
        $this->load->view('test', $dat);
    }
}

// in view
<?php
foreach ($record as $row){
    echo $row->name;
    echo '<br />';
}  
?>

显示错误:

遇到了 PHP 错误

严重性:通知

消息:未定义的属性:stdClass::$name

文件名:views/test.php

行号:35

回溯:

文件:C:\wamp\www\ci312\application\views\test.php 线路:35 函数:_error_handler

文件:C:\wamp\www\ci312\application\controllers\test_admin.php 线路:9 功能:查看

文件:C:\wamp\www\ci312\index.php 线路:315 函数:require_once

【问题讨论】:

  • 您不能将$q 传递给$dat['record],因为$q 是一个对象而不是一个数组,它应该是$dat['record] = (array) $q 然后print_r($record) 以便查看记录。

标签: php codeigniter-3


【解决方案1】:

在您的视图代码中添加一个 var_dump() 以检查您传入的内容...

可见

 <?php

 var_dump($record); // Debug
 exit(); // Debug
 foreach ($record as $row){
    echo $row->name;
    echo '<br />';
 }  

【讨论】:

  • 致反对的选民......所以现在向某人展示如何调试并查看正在发生的事情是不受欢迎的。谁知道!
猜你喜欢
  • 1970-01-01
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-15
  • 1970-01-01
  • 2021-06-16
相关资源
最近更新 更多