Enable Model lazy updating based on only the changed data

- Simplify update decision in Database
This commit is contained in:
Hypolite Petovan 2020-01-13 21:58:19 -05:00
parent f0474c07ce
commit 559879f41f
3 changed files with 23 additions and 13 deletions

View file

@ -28,6 +28,13 @@ abstract class BaseModel
*/
private $data = [];
/**
* Used to limit/avoid updates if no data was changed.
*
* @var array
*/
private $originalData = [];
/**
* @param Database $dba
* @param LoggerInterface $logger
@ -38,6 +45,12 @@ abstract class BaseModel
$this->dba = $dba;
$this->logger = $logger;
$this->data = $data;
$this->originalData = $data;
}
public function getOriginalData()
{
return $this->originalData;
}
/**
@ -51,6 +64,7 @@ abstract class BaseModel
{
$model = clone $prototype;
$model->data = $data;
$model->originalData = $data;
return $model;
}