public function ucEntity(Request $request, PnfTrayectoPeriodo $entity) { if (is_array($request->request->get('uc'))) { $uc = $request->request->get('uc'); $em = $this->getDoctrine()->getManager(); $entityPnfTrayectoPeriodoUc = $em->getRepository('AppBundle:PnfTrayectoPeriodoUc')->findBy(array('pnfTrayPeri' => $entity->getId())); $pnfTrayectoPeriodoIds = array(); foreach ($entityPnfTrayectoPeriodoUc as $key => $enti) { $ucId = $enti->getUc()->getUcId(); if (in_array($ucId, $uc)) { if (($key = array_search($ucId, $uc)) !== false) { unset($uc[$key]); } } else { $pnfTrayectoPeriodoIds[] = $enti; } } //delete entity foreach ($pnfTrayectoPeriodoIds as $key => $value) { $em->remove($value); } if ($pnfTrayectoPeriodoIds) { $em->flush(); } //add entity foreach ($uc as $key => $value) { $entityUnidadCurricular = $em->getRepository('AppBundle:UnidadCurricular')->find($value); if ($entityUnidadCurricular) { $entityPnfTrayectoPeriodoUc = new PnfTrayectoPeriodoUc(); $entityPnfTrayectoPeriodoUc->setUc($entityUnidadCurricular); $entity->addUc($entityPnfTrayectoPeriodoUc); } } } }
public function loadPnfTrayectoPeriodo(ObjectManager $manager) { $pnfTrayectoPeriodo = array(array(1, 1, 1, 1), array(2, 1, 1, 2), array(3, 1, 1, 3), array(4, 1, 2, 1), array(5, 1, 2, 2), array(6, 1, 2, 3), array(7, 2, 1, 1), array(8, 2, 1, 2), array(9, 2, 1, 3), array(10, 2, 2, 1), array(11, 2, 2, 2), array(12, 2, 2, 3), array(13, 3, 1, 1), array(14, 3, 1, 2), array(15, 3, 1, 3), array(16, 3, 2, 1), array(17, 3, 2, 2), array(18, 3, 2, 3), array(19, 3, 3, 1), array(20, 3, 3, 2), array(21, 3, 3, 3), array(22, 4, 1, 1), array(23, 4, 1, 2), array(24, 4, 1, 3), array(25, 4, 2, 1), array(26, 4, 2, 2), array(27, 4, 2, 3), array(28, 4, 3, 1), array(29, 4, 3, 2), array(30, 4, 3, 3)); $em = $this->container->get('doctrine')->getEntityManager('default'); foreach ($pnfTrayectoPeriodo as $data) { $entityPnfTrayectoPeriodo = new PnfTrayectoPeriodo(); //$entityPnfTrayectoPeriodo->setTrayId($data[0]); $entityPnf = $em->getRepository('AppBundle:Pnf')->find($data[1]); $entityPnfTrayectoPeriodo->setPnf($entityPnf); $entityTrayecto = $em->getRepository('AppBundle:Trayecto')->find($data[2]); $entityPnfTrayectoPeriodo->setTray($entityTrayecto); $entityPeriodo = $em->getRepository('AppBundle:Periodo')->find($data[3]); $entityPnfTrayectoPeriodo->setPeri($entityPeriodo); $manager->persist($entityPnfTrayectoPeriodo); } $manager->flush(); }