如何修复此错误消息:尝试获取非对象的属性

时间:2015-07-12 13:01:18

标签: php codeigniter

我正在制作一个简单的CRUD,但是我的crud应用程序显示了一条错误消息消息:尝试以更新形式获取非对象的属性。这是我的控制器

public function ubah($id){
        $this->load->model('m_property');
        $data = array();
        $data['msg']            = $this->_get_flashdata();
        $data['category']       = $this->m_category->get(); 
        $data['notif']          = $this->m_property->count_properti();
        $data['notifikasi']     = $this->m_property->notif_properti();
        $data['data']           = $this->m_property->get_id($id);

        var_dump($data['data']);

        $html = array();
        $html['header']     = $this->load->view('admin/header',$data,true);
        $html['kiri']       = $this->load->view('admin/kiri',null,true);
        $html['content']    = $this->load->view('admin/belanja/ubah',$data,true);
        $this->load->view('admin/template',$html);
    } 

这是我的模特

<?php 
    class M_property extends CI_Model {
        public function get_id($id){
            $this->db->where('nID', $id);
            $query = $this->db->get('properti');
            return $query->result();
        }

        public function update($id, $data){
            $this->db->where('nID', $id);
            return $this->db->update('properti', $data); 
        }
?>

这是我的看法

<div class="row">
   <div class="col-md-6">
                            <h4 class="header green clearfix">
                                Nama Properti
                            </h4>
                            <input class="form-control" type="text" name="nama" value="<?php echo $data->nama ?>" />
                        </div>

此代码显示的消息错误

<input class="form-control" type="text" name="nama" value="<?php echo $data->nama ?>" />

我不知道我的代码有什么问题,可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

问题在于您使用$query->result();的模型会导致对象数组。但在您看来,您并没有考虑到这一点。相反,你假设它只是一个数组之外的一个对象。如果你想要,如果你知道你只得到一行结果,那么改变它:

$query->result();

/*
which would result insomething like this:
array[
   0 => {
          "key" : "value"
        } 
]
*/

到此:

$query->row();

/*
which would result insomething like this:
{
   "key" : "value"
}
*/

消息来源:http://www.codeigniter.com/user_guide/database/results.html#result-rows

答案 1 :(得分:0)

我在你提到的视图中可以看到的唯一对象是$ data对象。错误消息&#34; ...非对象的属性...&#34;可能表示$ data对象不存在或者为null。