Completed
Push — master ( 1e7ae1...1641c1 )
by Axel
04:29
created

LoadProjectData   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
dl 0
loc 24
ccs 16
cts 16
cp 1
rs 10
c 0
b 0
f 0
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getOrder() 0 3 1
A load() 0 17 2
1
<?php
2
3
namespace App\DataFixtures\ORM\Project;
4
5
use Doctrine\Common\Persistence\ObjectManager;
6
use Doctrine\Common\DataFixtures\{
7
    AbstractFixture,
8
    OrderedFixtureInterface
9
};
10
use App\Entity\Project\Project;
11
12
class LoadProjectData extends AbstractFixture implements OrderedFixtureInterface
13
{
14 1
    public function load(ObjectManager $manager)
15
    {
16 1
        $data = include(dirname(__DIR__) . '/fixtures/projects.php');
17 1
        foreach ($data as $projectData) {
18
            $project =
19 1
                (new Project())
20 1
                ->setId($projectData['id'])
21 1
                ->setName($projectData['name'])
22 1
				->setDescription($projectData['description'])
23 1
                ->setSlug($projectData['slug'])
24 1
                ->setProductOwner($this->getReference("product-owner-{$projectData['product_owner_id']}"))
25 1
                ->setCreatedAt(new \DateTime($projectData['created_at']))
26
            ;
27 1
            $manager->persist($project);
28 1
            $this->addReference("project-{$projectData['slug']}", $project);
29
        }
30 1
        $manager->flush();
31 1
    }
32
33 6
    public function getOrder(): int
34
    {
35 6
        return 4;
36
    }
37
}
38