2015-02-25 3 views
0

Я пытаюсь использовать активные методы записи, чтобы обновить таблицу и флаг задачи, как полное, как это:CodeIgniter метод Active Record сцепления с обновления не работает

$this->db->update('tasks', array('status' => 'complete')) 
      ->where('id', $task_id); 

Но это дает мне ошибку:

Call to a member function where() on a non-object 

Есть что-то неправильно здесь, что я не могу видеть здесь? или цепочка методов не работает с обновлением? Эти документы являются довольно тонкий по методу сцепления ..

Это действительно работает, если я разбить его на две строки ...

$this->db->where('id', $task_id); 
$this->db->update('tasks', array('status' => 'complete')); 

но не метод сцепления работать здесь?

PHP версия: 5.5.4 версия CI: 3

ответ

0

Найдено ответ.

update() и insert() выполняются при вызове метода, поэтому нет ничего, к чему можно было бы привязать, поскольку объект db не возвращается.

Правильный способ цепи этой вставка утверждение сторнировать их:

$this->db->where('id', $task_id)->update('tasks', array('status' => 'complete')); 

Или использовать 3-й параметр опции на функции обновления:

$this->db->->update('tasks', array('status' => 'complete'), array('id', $task_id)); 

Надеется, что это помогает кто-то другое.

Кредит сообществу ЦИ на http://forum.codeigniter.com/thread-1281-post-5822.html

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