public function load(ObjectManager $manager) { $yaml = new Parser(); $symbonfy_base_dir = $this->container->getParameter('kernel.root_dir'); $data_dir = $symbonfy_base_dir . '/Resources/data/'; try { $value = Yaml::parse(file_get_contents($data_dir . 'tasks.yml')); } catch (ParseException $e) { printf("Unable to parse the YAML string: %s", $e->getMessage()); } /* tasks: 0: { id: 1, name: ''} 1: { id: 1, name: ''} taskauthor: 0: { id: 1, name: "Brad Taylor", isActive: true } 1: { id: 2, name: "William O'Neil", isActive: false } */ $tasks = array(0 => array('name' => 'Task 0', 'description' => 'Description Task 0', 'products' => [1, 2, 3]), 1 => array('name' => 'Task 1', 'description' => 'Description Task 1', 'products' => [1, 4]), 2 => array('name' => 'Task 2', 'description' => 'Description Task 2', 'products' => [2, 3])); foreach ($tasks as $task_id => $data) { $task = new Task(); $task->setName($data['name']); $task->setDescription($data['description']); foreach ($data['products'] as $product) { $task->addProduct($this->getReference($product)); } $manager->persist($task); } $manager->flush(); }