/** * Article controller. * * @Route("/article") */ class ArticleController extends Controller { /** * Displays a form for the article Assistant. * * @Route("/assistant", name="article_assistant") * @Template() */ public function articleAssistantAction() { $article = new Article(); $product = new Product(); $article->setProduct($product); $productVariantAssociation = new ProductVariantAssociation(); $product->getProductVariantAssociation()->add($productVariantAssociation); $form = $this->createForm(new ArticleType(), $article); return array( 'article' => $article, 'form' => $form->createView(), ); } /** * Creates a new Article entity. * * @Route("/assistant/create", name="article_assistant_create") * @Method("post") * @Template() */ public function articleAssistantCreateAction() { $article = new Article(); $product = new Product(); $article->setProduct($product); $variant = new Variant(); $productVariantAssociation = new ProductVariantAssociation(); $productVariantAssociation->setVariant($variant); $productVariantAssociation->setProduct($product); $product->getProductVariantAssociation()->add($productVariantAssociation); $request = $this->getRequest(); $form = $this->createForm(new ArticleType(), $article); $form->bindRequest($request); $em = $this->getDoctrine()->getEntityManager(); $em->persist($article); $em->persist($product); $em->persist($variant); $em->persist($productVariantAssociation); $em->flush(); return array( 'article' => $article ); } }