Как определить, что загруженный объект ORM изменился? - PullRequest
0 голосов
/ 19 декабря 2011

Как в заголовке: Как определить, что загруженный объект ORM изменился (текущие значения отличаются от значений в таблице БД)?

Ответы [ 2 ]

2 голосов
/ 19 декабря 2011

ORM хранит массив с именем «измененный» для отслеживания изменений в столбце, вы можете проверить его следующим образом.

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 голос
/ 17 августа 2012

Проблема, связанная с изменением, используемым методом save (), заключается в том, что сравнение, используемое в методе set (), выполняется оператором! ==.

Таким образом, иногда, если значение одинаково, но с одной стороны - строка, а с другой - целое число, ORM обнаружит, что оно отличается.

...