, * * 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\PersonBundle\DataFixtures\ORM; use Doctrine\Common\DataFixtures\AbstractFixture; use Doctrine\Common\DataFixtures\OrderedFixtureInterface; use Doctrine\Persistence\ObjectManager; use Symfony\Component\DependencyInjection\ContainerAwareInterface; use Chill\PersonBundle\Entity\AccompanyingPeriod; use Chill\PersonBundle\Entity\Person; /** * Description of LoadAccompanyingPeriod * * @author Champs-Libres Coop */ class LoadAccompanyingPeriod extends AbstractFixture implements OrderedFixtureInterface, ContainerAwareInterface { use \Symfony\Component\DependencyInjection\ContainerAwareTrait; public const ACCOMPANYING_PERIOD = 'parcours 1'; public function getOrder() { return 10004; } public static $references = array(); public function load(ObjectManager $manager) { $centerA = $this->getReference('centerA'); $centerAId = $centerA->getId(); $personIds = $this->container->get('doctrine.orm.entity_manager') ->createQueryBuilder() ->select('p.id') ->from('ChillPersonBundle:Person', 'p') ->where('p.center = :centerAId') ->orderBy('p.id', 'ASC') ->setParameter('centerAId', $centerAId) ->getQuery() ->getScalarResult(); $openingDate = new \DateTime('2020-04-01'); $person1 = $manager->getRepository(Person::class)->find($personIds[0]); $person2 = $manager->getRepository(Person::class)->find($personIds[1]); $socialScope = $this->getReference('scope_social'); $a = new AccompanyingPeriod($openingDate); $a->addPerson($person1); $a->addPerson($person2); $a->addScope($socialScope); $a->setStep(AccompanyingPeriod::STEP_CONFIRMED); $manager->persist($a); $this->addReference(self::ACCOMPANYING_PERIOD, $a); echo "Adding one AccompanyingPeriod\n"; $manager->flush(); } }