, * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ namespace Chill\MainBundle\DataFixtures\ORM; use Doctrine\Common\DataFixtures\AbstractFixture; use Doctrine\Common\DataFixtures\OrderedFixtureInterface; use Doctrine\Persistence\ObjectManager; use Chill\MainBundle\Entity\PostalCode; /** * Description of LoadPostalCodes * * @author Julien Fastré * @author Champs Libres */ class LoadPostalCodes extends AbstractFixture implements OrderedFixtureInterface { public function getOrder() { return 50; } public static $refs = array(); public function load(ObjectManager $manager) { $lines = str_getcsv(self::$codes, "\n"); $belgium = $manager->getRepository('ChillMainBundle:Country') ->findOneBy(array('countryCode' => 'BE')); foreach($lines as $line) { $code = str_getcsv($line); $c = new PostalCode(); $c->setCountry($belgium) ->setCode($code[0]) ->setName(\ucwords(\strtolower($code[2]))) ; $manager->persist($c); $ref = 'postal_code_'.$code[0]; if (! $this->hasReference($ref)) { $this->addReference($ref, $c); self::$refs[] = $ref; } } $manager->flush(); } private static $codes = <<