BankAccountFixture::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace App\DataFixtures;
4
5
use App\Entity\BankAccount;
6
use Doctrine\Bundle\FixturesBundle\Fixture;
7
use Doctrine\ORM\EntityManagerInterface;
8
use Doctrine\Persistence\ObjectManager;
9
10
class BankAccountFixture extends Fixture
11
{
12
    public const BANK_ACCOUNT1_REFERENCE = 'bank_account1';
13
    public const BANK_ACCOUNT2_REFERENCE = 'bank_account2';
14
    public const BANK_ACCOUNT3_REFERENCE = 'bank_account3';
15
16
    protected $em;
17
18
    public function __construct(EntityManagerInterface $entityManager)
19
    {
20
        $this->em = $entityManager;
21
    }
22
23
    public function load(ObjectManager $manager)
24
    {
25
        //Reset autoincrement
26
        $this->em->getConnection()
27
            ->executeStatement('ALTER TABLE `bank_accounts` AUTO_INCREMENT = 1;');
28
        //ALTER TABLE does an implicit commit and PHP 8 throws if commit is called later internally without active transactions
29
        $this->em->getConnection()->beginTransaction();
30
31
        $account = new BankAccount();
32
        $account->setName('Bank Account 1');
33
        $account->setIban('DE56500105174413384824');
34
        $account->setBic('INGDDEFFXXX');
35
        $this->addReference(self::BANK_ACCOUNT1_REFERENCE, $account);
36
        $manager->persist($account);
37
38
        $account = new BankAccount();
39
        $account->setName('Bank Account 2');
40
        $account->setIban('DE56500105174413384824');
41
        $account->setBic('INGDDEFFXXX');
42
        $account->setAccountName('Account Name');
43
        $account->setComment('Test');
44
        $this->addReference(self::BANK_ACCOUNT2_REFERENCE, $account);
45
        $manager->persist($account);
46
47
        $account = new BankAccount();
48
        $account->setName('Bank Account 3');
49
        $account->setIban('DE98500105174783924844');
50
        $account->setBic('INGDDEFFXXX');
51
        $account->setAccountName('Account Name');
52
        $this->addReference(self::BANK_ACCOUNT3_REFERENCE, $account);
53
        $manager->persist($account);
54
55
        $manager->flush();
56
    }
57
}
58