mirror of
https://github.com/friendica/friendica
synced 2025-04-23 01:10:11 +00:00
Enable Model lazy updating based on only the changed data
- Simplify update decision in Database
This commit is contained in:
parent
f0474c07ce
commit
559879f41f
3 changed files with 23 additions and 13 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue