@@ 445-456 (lines=12) @@ | ||
442 | * @param Model $model |
|
443 | * @return Model |
|
444 | */ |
|
445 | private function doCommitCreate(Model $model) |
|
446 | { |
|
447 | $this->dispatchLifecycleEvent(Events::preCreate, $model); |
|
448 | ||
449 | $this->getPersisterFor($model->getType())->create($model); |
|
450 | $model->getState()->setNew(false); |
|
451 | // Should the model always reload? Or should the commit be assumed correct and just clear the new/dirty state? |
|
452 | $model->reload(); |
|
453 | ||
454 | $this->dispatchLifecycleEvent(Events::postCreate, $model); |
|
455 | return $model; |
|
456 | } |
|
457 | ||
458 | /** |
|
459 | * Performs a Model delete commit and persists to the database. |
|
@@ 464-473 (lines=10) @@ | ||
461 | * @param Model $model |
|
462 | * @return Model |
|
463 | */ |
|
464 | private function doCommitDelete(Model $model) |
|
465 | { |
|
466 | $this->dispatchLifecycleEvent(Events::preDelete, $model); |
|
467 | ||
468 | $this->getPersisterFor($model->getType())->delete($model); |
|
469 | $model->getState()->setDeleted(); |
|
470 | ||
471 | $this->dispatchLifecycleEvent(Events::postDelete, $model); |
|
472 | return $model; |
|
473 | } |
|
474 | ||
475 | /** |
|
476 | * Performs a Model update commit and persists to the database. |
|
@@ 481-491 (lines=11) @@ | ||
478 | * @param Model $model |
|
479 | * @return Model |
|
480 | */ |
|
481 | private function doCommitUpdate(Model $model) |
|
482 | { |
|
483 | $this->dispatchLifecycleEvent(Events::preUpdate, $model); |
|
484 | ||
485 | $this->getPersisterFor($model->getType())->update($model); |
|
486 | // Should the model always reload? Or should the commit be assumed correct and just clear the new/dirty state? |
|
487 | $model->reload(); |
|
488 | ||
489 | $this->dispatchLifecycleEvent(Events::postUpdate, $model); |
|
490 | return $model; |
|
491 | } |
|
492 | ||
493 | /** |
|
494 | * Validates that a model type can be set to an owning metadata type. |