我的模特:
public function category($column, $value)
{
$this->db->select('c.cat2, c.category, m.id, m.date, m.when_date, m.when_time, m.where_m, m.age1, m.age2, m.opis, m.rozpoznamy');
$this->db->from('category c');
$this->db->where($column, $value);
$this->db->join('meeting m', 'm.id_cat = c.id');
$result = $this->db->get();
return $result->result();
}
public function delete($where, $column, $value)
{
$this->db->delete($this->users_m->category($column, $value), $where);
}
我的控制器:
public function delete()
{
$cat = $this->uri->segment(3);
$value = $this->uri->segment(4);
$column = 'm.id';
$where = array('m.id' => $value);
$this->users_m->delete($where, $column, $value);
redirect('main/category/' . $cat);
}
我有从连接表中删除数据的问题,当我尝试删除时收到此消息:
发生数据库错误
错误号码:1146
表'ci.object'不存在
DELETE FROM`Object` WHERE`m` .id` ='13'
文件名:C:\ xampp \ htdocs \ ci \ system \ database \ DB_driver.php
行号:330
所以可能是函数delete中的表有问题。我尝试了不同的方法来到这个表,我不知道如何解决这个问题。任何线索?
答案 0 :(得分:0)
您将CI对象传递到$this->db->delete()
,因为$this->users_m->category()
会返回一个对象的数据库结果数组。
CI删除的工作方式是传入表名,在您的情况下,它看起来像是
public function delete($where) {
$this->db->where('meeting m', $where);
$this->db->delete('meeting');
}
我无法解决为什么你有额外的价值