/** * Update event from db * * @param EventForm $eventForm * @param Event $event * @param User $user */ public function saveEventOnUpdate(EventForm $eventForm, Event $event, User $user) { $groupRepository = $this->entityManager->getRepository('AppBundle:Group'); /** @var Event $event */ $event->setName($eventForm->getName())->setDescription($eventForm->getDescription())->setCountry($eventForm->getCountry())->setCity($eventForm->getCity())->setAddress($eventForm->getAddress())->setBeginAt($eventForm->getBeginAt())->setEndAt($eventForm->getEndAt())->setSlug($eventForm->getName())->setUpdatedBy($user); $this->entityManager->persist($event); $groups = $groupRepository->findGroupsByEvent($event); /** @var Group $groupElement */ foreach ($eventForm->getGroups() as $groupElement) { $group = $groupRepository->findOneBy(['slug' => $groupElement->getSlug()]); if (!in_array($group, $groups)) { $eventGroups = (new EventGroup())->setEvent($event)->setGroup($group); $this->entityManager->persist($eventGroups); } } $this->entityManager->flush(); }
/** * {@inheritDoc} */ public function setName($name) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'setName', [$name]); return parent::setName($name); }