public function setUp() { $this->onBeforeSetup(); $repositoryFactory = new RepositoryFactory($this->config, $this->connection, $this->transactor); $this->entityRegistry = $repositoryFactory->getEntityRegistry(); $this->builder = $repositoryFactory->getEntityBuilder(); $this->unitOfWork = $repositoryFactory->getUnitOfWork(); $this->idAccessorRegistry = $repositoryFactory->getIdAccessorRegistry(); $this->onAfterSetUp(); }
/** * @param $entityClass * @param $key */ private function setIdAccessors($entityClass, $key) { $idAccessorRegistry = $this->repositoryFactory->getIdAccessorRegistry(); if (is_array($key)) { $getter = function ($entity) use($key) { $id = []; foreach ($key as $property) { $id[$property] = $entity->{$property}; } return $id; }; $setter = function ($entity, $id) use($key) { foreach ($key as $property) { $entity->{$property} = $id[$property]; } }; $idAccessorRegistry->registerIdAccessors($entityClass, $getter, $setter); return; } if (!empty($key)) { $idAccessorRegistry->registerReflectionIdAccessors($entityClass, $key); } }