public function load(ObjectManager $manager) { $filePath = $this->container->get('kernel')->locateResource('@NetworkStoreBundle/Resources/DataFixtures/posts'); $posts = array_map('trim', explode("\n", file_get_contents($filePath))); $id = 0; foreach ($posts as $postName) { $post = new JobPost(); $post->setId($id++)->setName($postName)->setPredefined(true); $manager->persist($post); } $manager->flush(); }
/** * Transform a string to JobPost object using search by name. * If object with specified name doesn't exist, create it. * * @param string $name * @return JobPost|null */ public function reverseTransform($name) { $name = trim($name); if (strlen($name) == 0) { return null; } $objects = $this->om->getRepository('NetworkStoreBundle:JobPost')->findBy(['name' => $name]); if (count($objects) === 0) { $object = new JobPost(); $object->setName($name)->setPredefined(false); $this->om->persist($object); $this->om->flush(); } else { $object = $objects[0]; } return $object; }