Ответ 1
Вы пробовали это?
$names = array(4,5);
$this->db->where_in('id', $names);
$this->db->delete('mytable');
Поэтому я могу удалить одну строку, используя:
$this->db->delete($tableName,array("id"=>4));
... но я не могу понять, как удалить несколько строк. Я пробовал:
$this->db->delete($tableName,array("id"=>4,"id"=5));
а также:
$this->db->delete($tableName,array(array("id"=>4),array("id"=5)));
... но они оба не работают. Я чувствую, что это должно быть довольно легко. Любые ответы?
Вы пробовали это?
$names = array(4,5);
$this->db->where_in('id', $names);
$this->db->delete('mytable');
не требуется ассоциативный массив.
$ids[] = 1;
$ids[] = 2;
$this->db->where_in( id, $ids );
$this->db->delete('Table_Name');
написать для него пользовательский запрос
$this->db->query("DELETE FROM `TABLE_NAME` WHERE `id` IN(1,2,3,4,5)");
он не работает
$names = array(4,5);
$this->db->where_in('id', $names);
$this->db->delete('mytable');
DELETE FROM table_name WHERE id IN ('4,5')
Обратите внимание, что одна вещь не одна строка/цифра ('4,5'), мы должны быть погружены каждый id с одинарной кавычкой, подобной этой ('4', '5')
Лучший и хороший способ
//$ids = 1,2,3.....
$ids_exp = explode(',',$ids);
$this->db->where_in('id',$ids_exp);//
$this->db->delete('table_name')
return $this->db->affected_rows();
вышеуказанный запрос будет работать.........
Чтобы удалить одну строку использования:
$this->db->delete('TABLE_NAME', array('id' => 5));
Вы пытались это сделать? Я уверен, что он должен работать.
$this->db->delete('TABLE_NAME', array(array('id' => 5), array('id' => 3), ...));