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

@ -122,7 +122,7 @@ abstract class BaseRepository extends BaseFactory
*/
public function update(BaseModel $model)
{
return $this->dba->update(static::$table_name, $model->toArray(), ['id' => $model->id], true);
return $this->dba->update(static::$table_name, $model->toArray(), ['id' => $model->id], $model->getOriginalData());
}
/**
@ -136,11 +136,13 @@ abstract class BaseRepository extends BaseFactory
{
$return = $this->dba->insert(static::$table_name, $fields);
if ($return) {
$fields['id'] = $this->dba->lastInsertId();
$return = $this->create($fields);
if (!$return) {
throw new HTTPException\InternalServerErrorException('Unable to insert new row in table "' . static::$table_name . '"');
}
$fields['id'] = $this->dba->lastInsertId();
$return = $this->create($fields);
return $return;
}