我正在制作一个简单的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 :(得分: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。