Completed
Push — master ( b2acd3...46961e )
by Axel
03:30
created

LoadFeedbackData   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 9.09%

Importance

Changes 1
Bugs 1 Features 0
Metric Value
wmc 4
c 1
b 1
f 0
lcom 0
cbo 3
dl 0
loc 39
ccs 2
cts 22
cp 0.0909
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setContainer() 0 3 1
A load() 0 20 2
A getOrder() 0 3 1
1
<?php
2
namespace Developtech\AgilityBundle\DataFixtures\ORM;
3
4
use Doctrine\Common\Persistence\ObjectManager;
5
use Doctrine\Common\DataFixtures\AbstractFixture;
6
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
7
use Symfony\Component\DependencyInjection\ContainerInterface;
8
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
9
use Developtech\AgilityBundle\Entity\Feedback;
10
11
class LoadFeedbackData extends AbstractFixture implements OrderedFixtureInterface, ContainerAwareInterface {
12
    /** @var ContainerInterface */
13
    private $container;
14
    /**
15
     * @param ContainerInterface $container
16
     */
17 1
    public function setContainer(ContainerInterface $container = null) {
18 1
        $this->container = $container;
19
    }
20
    /**
21
     * @param ObjectManager $manager
22
     */
23
    public function load(ObjectManager $manager) {
24
        $data = include('fixtures/feedbacks.php');
25
        foreach ($data as $feedbackData)
26
        {
27
            $feedback =
28
                (new Feedback())
29
                ->setId($feedbackData['id'])
30
                ->setProject($this->getReference("project-{$feedbackData['project_id']}"))
31
                ->setName($feedbackData['name'])
32
                ->setSlug($feedbackData['slug'])
33
                ->setDescription($feedbackData['description'])
34
                ->setStatus($feedbackData['status'])
35
                ->setCreatedAt(new \DateTime($feedbackData['created_at']))
36
                ->setUpdatedAt(new \DateTime($feedbackData['updated_at']))
37
            ;
38
            $manager->persist($feedback);
39
        }
40
        $manager->flush();
41
        $manager->clear(Feedback::class);
42
    }
43
    /**
44
     * @return int
45
     */
46
    public function getOrder() {
47
        return 2;
48
    }
49
}
50