Ho una AR chiamata User , che ha tra le altre entità quella chiamata City .
Il modo in cui assegno un City a User è:
$user->addCity($city);
Il problema si presenta quando viene dato un id su qualche endpoint di Controller invece di un'entità City , non posso metterli in relazione se non è attraverso un'istanza e non riesco a recuperare l'intance dell'entità senza un repository.
Potrei recuperare l'entità con CityRepository e poi aggiungerla a User , ma per quanto dovrei usare solo un repository per AR.
Per il momento, sto ottenendo il riferimento tramite EntityManager di Symfony:
public function __construct(UserRepository $users)
{
$this->users = $users;
}
public function execute(Passenger $user, int $cityId, string $companyName = '')
{
$city = $this->users->getCityReferenceById($cityId);
$user->addCity($city);
....
}
mentre su UserRepository:
public function getCityReferenceById(int $cityId): City
{
return $this->em->getReference(City::class, $cityId);
}