* * 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 Chill\PersonBundle\Entity\SocialWork\SocialIssue; /** * Create social issues * */ class LoadSocialIssues extends AbstractFixture implements OrderedFixtureInterface { public function getOrder() { return 10010; } public static $socialIssues = [ 'social_issue_diff_fin_or_admin' => [ 'title' => [ 'fr' => 'ADULTE - DIFFICULTES FINANCIERES ET/OU ADMINISTRATIVES' ] ], 'social_issue_prev_prot' => [ 'title' => [ 'fr' => 'ADULTE PREVENTION/PROTECTION' ], 'parent' => 'social_issue_diff_fin_or_admin' ], 'social_issue_diff_fin' => [ 'title' => [ 'fr' => 'Difficulté financière' ], 'parent' => 'social_issue_diff_fin_or_admin' ], 'social_issue_enfant_famille' => [ 'title' => [ 'fr' => 'Enfant / famille' ] ], 'social_issue_enfant_protection' => [ 'title' => [ 'fr' => 'enfant - protection' ], 'parent' => 'social_issue_enfant_famille' ], ]; public function load(ObjectManager $manager) { foreach (static::$socialIssues as $ref => $new) { $socialIssue = new SocialIssue(); $socialIssue->setTitle($new['title']); if ( array_key_exists('parent', $new)) { $parentRef = $new['parent']; $parent = $this->getReference($parentRef); $socialIssue->setParent($parent); } $manager->persist($socialIssue); $this->addReference($ref, $socialIssue); print("Adding SocialIssue '".$new['title']['fr']."'\n"); } $manager->flush(); } }