private function saveEGuideCities($cities = array(), $coords = array()) { // var_dump($cities); $guideToCities = $this->getDoctrine()->getRepository('BugglMainBundle:EGuideToCity')->findBy(array('e_guide' => $this->eguide)); if (count($guideToCities)) { foreach ($guideToCities as $guideToCity) { $key = array_search($guideToCity->getCity()->getName(), $cities); if (!$key) { $em = $this->getDoctrine()->getEntityManager(); $em->remove($guideToCity); $em->flush(); } else { unset($cities[$key]); $cities = array_values($cities); } } } // exit; $country = $this->eguide->getCountry(); if (count($cities)) { foreach ($cities as $cName) { $em = $this->getDoctrine()->getEntityManager(); $city = $this->getDoctrine()->getRepository('BugglMainBundle:City')->findOneBy(array('country' => $country, 'name' => $cName)); if (!$city) { $city = new City(); $city->setName($cName); $city->setCountry($country); $city->setLat($coords[$cName]['lat']); $city->setLong($coords[$cName]['lng']); $em->persist($city); $em->flush(); } $egtc = new EGuideToCity(); $egtc->setEGuide($this->eguide); $egtc->setCity($city); $em->persist($egtc); $em->flush(); } } }
public function setLat($lat) { $this->__load(); return parent::setLat($lat); }