public function prepareComandeAction() { /*initialisation de la variable session*/ $session = $this->getRequest()->getSession(); //appel de l'entity manager pour aller chercher les produits dans la base avec doctrine $em = $this->getDoctrine()->getManager(); //on va stocker en session la commande /*si la session n'existe pas on la crée */ if (!$session->has('commande')) { $commande = new Commandes(); } else { $session = $em->getRepository('AYECrecheBundle:Commandes')->find($session->get('commande')); } $commande->setDate(new \DateTime()); $commande->setUser($this->container->get('security.context')->getToken()->getUser()); $commande->setValider(0); $commande->setReference(0); /*on va stocker tous les produits qu'on a en session*/ $commande->setCommande($this->facture()); if (!$session->has('commande')) { $em->persist($commande); $session->set('commande', $commande); } $em->flush(); return new Response($commande->getId()); }
/** * {@inheritDoc} */ public function load(ObjectManager $manager) { $commande = new Commandes(); $commande->setUser($this->getReference('user')); $commande->setValider('1'); $commande->setDate(new \DateTime()); $commande->setReference('1'); //article =>quantité commandé $commande->setCommande(array('0' => array('1' => '2'), '1' => array('2' => '1'))); $manager->persist($commande); $manager->flush(); //ajout de reference à nos fixtures pour faire des relations entre nos differents fixtures (foreign keys) $this->addReference('commande', $commande); }