示例#1
0
 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();
 }