/** * @param Request $request * @Route("/handmades/create") * @Template */ public function createAction(Request $request) { $em = $this->getDoctrine()->getManager(); if (!$this->getUser()) { $this->addFlash('danger', 'Щоб отпримати можливість створювати записи, спочатку треба авторизуватися'); return new RedirectResponse($this->generateUrl('basarab_handmade_index_index')); } $handmade = new Handmade(); $form = $this->createForm(new HandmadeType(), $handmade); $form->handleRequest($request); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $tags = $form->get('tag')->getData(); foreach ($tags as $tag) { $tagRequest = $em->getRepository('BasarabHandmadeBundle:Tag')->findOneByName($tag); if (!$tagRequest) { $newTag = new Tag(); $newTag->setName($tag); $handmade->addTag($newTag); } else { $handmade->addTag($tagRequest); } } $handmade->setAuthor($this->getUser()); $em->persist($handmade); $em->flush(); $this->addFlash('success', 'Запис успішно добавлено'); return new RedirectResponse($this->generateUrl('basarab_handmade_index_index')); } return ['form' => $form->createView()]; }
public function load(ObjectManager $manager) { $handmade1 = new Tag(); $handmade1->setName("Тег 1"); $manager->persist($handmade1); $manager->flush(); $handmade2 = new Tag(); $handmade2->setName("Тег 2"); $manager->persist($handmade2); $manager->flush(); }
/** * Remove tag * * @param \Basarab\HandmadeBundle\Entity\Tag $tag */ public function removeTag(\Basarab\HandmadeBundle\Entity\Tag $tag) { $tag->removeHandmade($this); $this->tags->removeElement($tag); }