예제 #1
0
 /**
  * Importe en base les monnaies.
  */
 private function importeMonnaies()
 {
     $fichierCsv = new Csv($this->cheminLyssalMonnaieBundleFiles . '/csv/monnaies.csv', ',', '"');
     $fichierCsv->importe(false);
     $this->monnaieManager->removeAll(true);
     foreach ($fichierCsv->getLignes() as $ligneCsv) {
         $symbole = $ligneCsv[0];
         $code = $ligneCsv[1];
         $monnaie = $this->monnaieManager->create();
         $monnaie->setSymbole($symbole);
         $monnaie->setCode($code);
         $this->monnaieManager->save($monnaie);
     }
 }
예제 #2
0
 /**
  * Importe en base les villes françaises.
  */
 private function importeFranceVilles($paysFrance)
 {
     $departementsByCode = array();
     foreach ($this->departementManager->findByPays($paysFrance) as $departement) {
         $departementsByCode[$departement->getCode()] = $departement;
     }
     $fichierCsv = new Csv($this->cheminLyssalGeographieBundleFiles . '/csv/villes-france.csv', ',', '"');
     $fichierCsv->importe(false);
     $compteur = 0;
     foreach ($fichierCsv->getLignes() as $ligneCsv) {
         $codeDepartement = (strlen($ligneCsv[1]) < 2 ? '0' : '') . strtoupper($ligneCsv[1]);
         if ('975' !== $codeDepartement) {
             if (!isset($departementsByCode[$codeDepartement])) {
                 throw new \Exception('Le code département "' . $ligneCsv[1] . '" de la ville n\'a pas été trouvé.');
             }
             $departement = $departementsByCode[$codeDepartement];
             $nomFr = $ligneCsv[5];
             $codePostal = $ligneCsv[8];
             $codeCommune = $ligneCsv[10];
             $longitude = floatval($ligneCsv[19]);
             $latitude = floatval($ligneCsv[20]);
             $ville = $this->villeManager->create();
             $ville->setDepartement($departement);
             $ville->setCodePostal($codePostal);
             $ville->setCodeCommune($codeCommune);
             $ville->setLatitude($latitude);
             $ville->setLongitude($longitude);
             $ville->setNom($nomFr);
             $ville->setLocale('fr');
             $this->villeManager->persist($ville);
             if (++$compteur % 100 == 0) {
                 $this->villeManager->flush();
                 $this->villeManager->clear();
             }
         }
     }
     if (++$compteur % 100 == 0) {
         $this->villeManager->flush();
         $this->villeManager->clear();
     }
 }