Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
AmicronBooleanIntType
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
2 / 2
5
100.00% covered (success)
100.00%
1 / 1
 convertToDatabaseValue
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
2
 convertToPHPValue
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
3
1<?php
2
3declare(strict_types=1);
4
5namespace Satag\AmicronEntityBundle\Doctrine;
6
7use Doctrine\DBAL\Platforms\AbstractPlatform;
8use Doctrine\DBAL\Types\BooleanType;
9
10class AmicronBooleanIntType extends BooleanType
11{
12    /**
13     * @return string
14     */
15    #[\Override]
16    public function convertToDatabaseValue($value, AbstractPlatform $platform): mixed
17    {
18        if ($value === true) {
19            return '1';
20        }
21
22        return '0';
23    }
24
25    /**
26     * @return bool|null
27     */
28    #[\Override]
29    public function convertToPHPValue($value, AbstractPlatform $platform): mixed
30    {
31        if ($value === 1) {
32            return true;
33        } elseif ($value === 0) {
34            return false;
35        }
36
37        return $platform->convertFromBoolean($value);
38    }
39}