Codeigniter删除函数不工作


Codeigniter delete function not working

我试图在我的项目中建立一个简单的删除函数,从表中删除数据。我不明白为什么它不工作。我使用codeigniter用户指南来帮助我解决这个问题。我得到一个错误,不知道为什么。这是我的控制器,模型和视图的删除:

遇到PHP错误

严重性:注意

Message: Undefined property: 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);    
 }
<<p> 视图/strong>
//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

在你的控制器中像这样加载你的模型

$this->load->model('deletion_model');

然后调用deletion_model

的方法
$this->deletion_model->delete($id);

确保你加载了模型。

之后,我建议你传递id的值作为字符串。

$this->db->where('id', '1');

如果不使用静态值,则使用提供给该函数的变量

$this->db->where('id', $id);

请仔细阅读指南

http://ellislab.com/codeigniter/user-guide/database/active_record.html删除

还可以使用

检索要删除的记录的id
$id=$this->uri->segment(3); // depending on which segment the id is
  1. 我没有看到任何$row对象在你的控制器,虽然你使用它在你的视图:$row->id
  2. 你的模型没有返回任何东西。
  3. 删除指定行,$object->id将不复存在。
  4. 视图中的链接它声明你想要显示一个删除链接,但是你在处理实际删除动作的控制器中使用那个视图。

编辑:因为您尝试通过查询结果在视图中进行迭代,所以控制器中的$data['query']应该指向一个select语句。