@@ 524-535 (lines=12) @@ | ||
521 | * @param Model $model |
|
522 | * @return Model |
|
523 | */ |
|
524 | private function doCommitCreate(Model $model) |
|
525 | { |
|
526 | $this->dispatchLifecycleEvent(Events::preCreate, $model); |
|
527 | ||
528 | $this->getPersisterFor($model->getType())->create($model); |
|
529 | $model->getState()->setNew(false); |
|
530 | // Should the model always reload? Or should the commit be assumed correct and just clear the new/dirty state? |
|
531 | $model->reload(); |
|
532 | ||
533 | $this->dispatchLifecycleEvent(Events::postCreate, $model); |
|
534 | return $model; |
|
535 | } |
|
536 | ||
537 | /** |
|
538 | * Performs a Model delete commit and persists to the database. |
|
@@ 543-552 (lines=10) @@ | ||
540 | * @param Model $model |
|
541 | * @return Model |
|
542 | */ |
|
543 | private function doCommitDelete(Model $model) |
|
544 | { |
|
545 | $this->dispatchLifecycleEvent(Events::preDelete, $model); |
|
546 | ||
547 | $this->getPersisterFor($model->getType())->delete($model); |
|
548 | $model->getState()->setDeleted(); |
|
549 | ||
550 | $this->dispatchLifecycleEvent(Events::postDelete, $model); |
|
551 | return $model; |
|
552 | } |
|
553 | ||
554 | /** |
|
555 | * Performs a Model update commit and persists to the database. |
|
@@ 560-570 (lines=11) @@ | ||
557 | * @param Model $model |
|
558 | * @return Model |
|
559 | */ |
|
560 | private function doCommitUpdate(Model $model) |
|
561 | { |
|
562 | $this->dispatchLifecycleEvent(Events::preUpdate, $model); |
|
563 | ||
564 | $this->getPersisterFor($model->getType())->update($model); |
|
565 | // Should the model always reload? Or should the commit be assumed correct and just clear the new/dirty state? |
|
566 | $model->reload(); |
|
567 | ||
568 | $this->dispatchLifecycleEvent(Events::postUpdate, $model); |
|
569 | return $model; |
|
570 | } |
|
571 | ||
572 | /** |
|
573 | * Validates that an embed name/type can be set to an owning embed metadata type. |