我正在尝试在项目中构建一个简单的删除函数来删除表中的数据。我不知道为什么它不起作用。我使用codeigniter用户指南来帮助我解决这个问题。我收到错误,不知道为什么。这是我的控制器,模型和删除视图:
遇到PHP错误
严重性:注意
消息:未定义属性:stdClass :: $ id
模型
function delete()
{
$this->load->database();
$tables = array('info', 'info2');
$this->db->where('id', 1);
$this->db->delete($tables);
}
控制器
function del($tables){
if((int)$tables > 0){
$this->info_model->delete($tables);
}
$data = $this->info_model->delete();
$data['query'] = $this->result_model->delete();
$this->load->view('info_view',$data);
}
查看
//this line gives me the error
<td><?php echo anchor('info_controller/del' . $row->id,'Delete')?> </td>
修改
我用这个教程来做这个
http://www.phpeveryday.com/articles/CodeIgniter-Form-Centralizing-$data-P291.html
答案 0 :(得分:2)
在您的控制器中加载您的模型
$this->load->model('deletion_model');
然后调用deletion_model的方法
$this->deletion_model->delete($id);
确保加载模型。
之后我建议你将id的值传递给字符串。
$this->db->where('id', '1');
OR
如果不使用静态值,请使用提供给此函数的变量
$this->db->where('id', $id);
请正确阅读指南
http://ellislab.com/codeigniter/user-guide/database/active_record.html#delete
您还可以使用
检索要删除的记录的ID$id=$this->uri->segment(3); // depending on which segment the id is
答案 1 :(得分:-1)
$row
$row->id
将不复存在。编辑:
由于您尝试通过查询结果在视图中进行迭代,因此控制器中的$object->id
应指向select语句。