Как в заголовке: Как определить, что загруженный объект ORM изменился (текущие значения отличаются от значений в таблице db)?Как определить, что загруженный объект ORM изменился?
0
A
ответ
2
ORM хранит массив с именем 'changed' для отслеживания изменений в столбце, которые вы можете проверить так.
public function save()
{
if (isset($this->changed['name']))
{
// set the slug when the name changes -- 'my-post-name'
$this->slug = url::title($this->name);
}
}
Проверить ссылку - http://docs.kohanaphp.com/libraries/orm => изменен
1
Проблема полагаться на Измененное используется Save() метод сравнения, используемый в способе набора() выполняется == оператора!.
Таким образом, иногда, если значение одно и то же, но в одной строке есть строка, а в другом - целое число, ORM будет определять его как другое.
Спасибо, я понял, что если вы хотите проверить, что ЛЮБЫЕ поля изменены, вы можете просто использовать $ this -> _ saved; слишком – drupality
Обновление для Kohana 3.x 'if ($ this-> changed ('name')) { ... }' –