Я новичок в Symfony 4 и, пройдя некоторые уроки, я работаю над проектом по самосовершенствованию!
Это менеджер событий с регистрацией участников с бэк-офисом. Как посетитель, я могу зарегистрироваться для одного или нескольких событий из списка выбора формы начальной загрузки.
После регистрации администратор может получить доступ к своему бэк-офису и узнать, кто зарегистрировался в том или ином событии, выбрав определенное событие и просмотрев список.
Моя проблема в том, что если администратор решает удалить участника из события, он удаляется из базы данных и, следовательно, всех событий, в которых он зарегистрирован. Пока я бы хотел, чтобы его удалили только из рассматриваемого события.
Я думаю, мне нужно создать запрос в файле репозитория моего события ...
Вот некоторые части кода, которые я считаю полезными.
My Entity Participant.php, у которого есть отношения ManyToMany:
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Event", inversedBy="participants")
*/
private $workshops;
Файл Entity Event.php:
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Participant", mappedBy="workshops")
*/
private $participants;
И в одном из моих контроллеров вот функция, которая удаляет участника из всех событий:
/**
* @Route("/admin/delete_participant/{id}", name="delete_participant")
*/
public function deleteParticipant(EntityManagerInterface $manager, Participant $participant) {
$manager->remove($participant);
$manager->flush();
$this->addFlash('danger', "Participant deleted");
return $this->redirectToRoute("admin_page", [
'participant' => $participant,
]);
}
Я должен создать запрос на учетную запись, но блокирую его.
Как мне решить эту проблему?