Запрос на обновление активной записи Codigniter принимает устаревшее условие where - PullRequest
0 голосов
/ 21 февраля 2012

У меня следующий запрос

$this->db->set('registerStep', $param)
 ->where('id = ',$user_id)
 ->update($this->table_name);

Above Query производит код ниже SQL. хотя я поставляю только одно условие.

 UPDATE `users` SET `registerStep` = 2 WHERE `id` = 33 AND `id` = '165'

Я думаю, что активная запись использует некоторые из кэшированных там, где условие, есть ли способ освободить, где условие.
Я пытался использовать

$this->db->flush_cache();

Но это не помогает.

Ответы [ 2 ]

3 голосов
/ 21 февраля 2012

http://codeigniter.com/user_guide/database/active_record.html#update

->where('id = ',$user_id)

неверно.

->where('id',$user_id)

правильно.

1 голос
/ 22 февраля 2012

Ваш запрос полностью правильный.Но я верю, что вы использовали $ this-> db-> where () перед текущим запросом.Используйте следующий код, и вы увидите все ранее определенные операторы «где»:

print_r($this->db->ar_where);
$this->db->set('registerStep', $param)
     ->where('id = ',$user_id)
     ->update($this->table_name);
...