2015-07-12 46 views
0

我正在做一个简单的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 ?>" /> 

所示的消息错误我不不知道我的代码有什么问题,可以帮助我请?

+0

你的问题难以承受你想达到的目标。 – user4419336

+0

我正在尝试制作CRUD应用程序,但是当我单击数据进行更新并链接到更新网址时,我的表单更新显示错误消息:试图获取非对象**的属性。我想从我的领域获取数据。那么我的代码中有什么问题?请帮助我 –

+0

我明白了..但问题是,您提供的视图来自:admin/header.php或它位于何处? – CodeGodie

回答

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

+0

我改变了** $查询 - >结果(); **到** $查询 - >行()**位它仍然显示错误 –

+0

多数民众赞成在奇怪..必须有别的东西你没有显示我们在你的代码,因为这应该工作。如果在运行视图之前'var_dump($ data)'怎么办?你得到了什么? – CodeGodie

+0

我已经给** var_dump($ data)**,结果是数组为空 –

0

的唯一对象我可以从视图中看到,你提到的是$ data对象。错误消息“...非对象...的属性”可能表示$ data对象不存在或为空。

相关问题