/** * Updates a field * * @param mixed $object * @param BlameableAdapter $ea * @param $meta * @param $field */ protected function updateField($object, $ea, $meta, $field) { $property = $meta->getReflectionProperty($field); $oldValue = $property->getValue($object); $newValue = $this->getUserValue($meta, $field); $property->setValue($object, $newValue); if ($object instanceof NotifyPropertyChanged) { $uow = $ea->getObjectManager()->getUnitOfWork(); $uow->propertyChanged($object, $field, $oldValue, $newValue); } }
/** * Updates a field * * @param object $object * @param BlameableAdapter $ea * @param $meta * @param $field */ protected function updateField($object, $ea, $meta, $field) { $property = $meta->getReflectionProperty($field); $oldValue = $property->getValue($object); $newValue = $this->getUserValue($meta, $field); //if blame is reference, persist object if ($meta->hasAssociation($field) && $newValue) { $ea->getObjectManager()->persist($newValue); } $property->setValue($object, $newValue); if ($object instanceof NotifyPropertyChanged) { $uow = $ea->getObjectManager()->getUnitOfWork(); $uow->propertyChanged($object, $field, $oldValue, $newValue); } }