/** * Merge fields * * @param EntityData $data */ public function run(EntityData $data) { $masterEntity = $data->getMasterEntity(); foreach ($data->getEntities() as $entity) { if (!$this->doctrineHelper->isEntityEqual($masterEntity, $entity)) { $this->entityManager->remove($entity); } } }
/** * Get entities that are not master. * * @param EntityData $entityData * @return array */ protected function getEntitiesToClear(EntityData $entityData) { $result = array(); $masterEntity = $entityData->getMasterEntity(); foreach ($entityData->getEntities() as $entity) { if (!$this->doctrineHelper->isEntityEqual($masterEntity, $entity)) { $result[] = $entity; } } return $result; }
public function testSetGetMasterEntity() { $this->assertEquals($this->entities[0], $this->entityData->getMasterEntity()); $this->assertEquals($this->entityData, $this->entityData->setMasterEntity($this->entities[1])); $this->assertEquals($this->entities[1], $this->entityData->getMasterEntity()); }