如标题所示:如何检测加载的ORM对象是否已更改(当前值与db表中的值不同)?
答案 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会将其检测为不同。