2013-09-06 15 views
1

Я работаю над проектом CodeIgniter, где мне нужно изменить статус записи. На самом деле мне нужно обновить только те записи, чей идентификатор находится/находится в ids sting.обновление нескольких записей в codeigniter

В настоящее время мой код содержит только одну запись. Моя модельная функция:

public function markUnRead() { 
    $ids = 1,2,3,4,5,6; 
    $update = array('status' => 0); 
    $this->db->where_in('id', $ids); 
    $this->db->update('tableName',$update); 

    if ($this->db->affected_rows() > 0) { 
     return true; 
    } else { 
     return false; 
    } 
} 

Кто-то мне помогает.

ответ

3

Второй параметр where_in() метода должен быть array:

$this->db->where_in('id', array(1,2,3,4,5,6)); 

По какой-либо причине, если $ids является строка, как "1,2,3,4,5,6", вы можете заставить его работать на:

$ids = explode(',', $ids); 
$this->db->where_in('id', $ids); 
+0

I сделал второй массив параметров, но все же получил тот же результат. обновляется только одна запись. – user2702406

+0

Я сделал все, что вы сказали, но не работал. – user2702406

+0

Да, брат сейчас работает, большое спасибо, на самом деле мои изменения были неправильными. Вы отвечаете абсолютно правильно. еще раз спасибо. – user2702406

Смежные вопросы