← Back
Editing: ManagerProviderAssigner.php
<?php namespace App\Service\Provider; use App\Entity\Prestataire; use App\Entity\User; use App\Repository\AdresseRepository; use Doctrine\ORM\EntityManagerInterface; class ManagerProviderAssigner { public function __construct( private readonly AdresseRepository $addressRepository, private readonly EntityManagerInterface $em ) { } public function __invoke(Prestataire $provider, User $manager): void { foreach ($manager->getManagerAddresses() as $address) { $existingProviders = $address->getPrestataires(); if (!$existingProviders->exists( fn ($key, Prestataire $element) => $element->getId() === $provider->getId() )) { $address->addPrestataire($provider); } $this->addressRepository->save($address); } $this->em->flush(); } }
Save File
Cancel