如何检测加载的ORM对象是否已更改?

时间:2011-12-19 08:00:50

标签: orm kohana kohana-3

如标题所示:如何检测加载的ORM对象是否已更改(当前值与db表中的值不同)?

2 个答案:

答案 0 :(得分:2)

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 :(得分:1)

依赖于save()方法所使用的更改的问题是set()方法中使用的比较是由!== operator。

完成的。

因此,有时如果值相同,但一方是字符串,另一方面是整数,ORM会将其检测为不同。