首页 > 代码库 > thinkphp框架中Model对象$origin对象的作用

thinkphp框架中Model对象$origin对象的作用

在Model的构造函数中,$origin的初始化方式如下

if (is_object($data)) {
      $this->data = http://www.mamicode.com/get_object_vars($data);>

$origin保存的是一个数组,因为如果保存的是对象的话,因为对象是引用,修改的时候会把$data和$origin同时修改了。

而我们需要的效果是$origin保存初始化时候的原始数据。

 

在thinkphp的save函数中,就可以对比$data和$origin找出修改了哪些字段,这样更新的时候就可以只更新修改过的字段

$data = http://www.mamicode.com/array_udiff_assoc($this->data, $this->origin, function ($a, $b) {>

 

thinkphp框架中Model对象$origin对象的作用