*/ class Loader implements LoaderInterface { public function __construct(private OrmDefs $ormDefs, private EntityManager $entityManager) {} public function process(Entity $entity, Params $params): void { $entityDefs = $this->ormDefs->getEntity($entity->getEntityType()); if (!$entityDefs->hasField('phoneNumber')) { return; } if ($entityDefs->getField('phoneNumber')->getType() !== 'phone') { return; } /** @var Repository $repository */ $repository = $this->entityManager->getRepository('PhoneNumber'); $phoneNumberData = $repository->getPhoneNumberData($entity); $entity->set('phoneNumberData', $phoneNumberData); $entity->setFetched('phoneNumberData', $phoneNumberData); } }