Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0328a59

Browse files
committed
Add support for doctrin/dbal 2.6 types
1 parent 27852a0 commit 0328a59

File tree

5 files changed

+30
-0
lines changed

5 files changed

+30
-0
lines changed

src/Symfony/Bridge/Doctrine/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
CHANGELOG
22
=========
33

4+
3.4.0
5+
-----
6+
* added support for doctrine/dbal v2.6 types
7+
48
3.1.0
59
-----
610

src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ public function guessType($class, $property)
6060
case Type::DATETIMETZ:
6161
case 'vardatetime':
6262
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\DateTimeType', array(), Guess::HIGH_CONFIDENCE);
63+
case 'dateinterval':
64+
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\DateIntervalType', array(), Guess::HIGH_CONFIDENCE);
6365
case Type::DATE:
6466
return new TypeGuess('Symfony\Component\Form\Extension\Core\Type\DateType', array(), Guess::HIGH_CONFIDENCE);
6567
case Type::TIME:

src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,15 @@ public function getTypes($class, $property, array $context = array())
117117
case DBALType::TIME:
118118
return array(new Type(Type::BUILTIN_TYPE_OBJECT, $nullable, 'DateTime'));
119119

120+
case 'date_immutable':
121+
case 'datetime_immutable':
122+
case 'datetimetz_immutable':
123+
case 'time_immutable':
124+
return array(new Type(Type::BUILTIN_TYPE_OBJECT, $nullable, 'DateTimeImmutable'));
125+
126+
case 'dateinterval':
127+
return array(new Type(Type::BUILTIN_TYPE_OBJECT, $nullable, 'DateInterval'));
128+
120129
case DBALType::TARRAY:
121130
return array(new Type(Type::BUILTIN_TYPE_ARRAY, $nullable, null, true));
122131

src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ public function testGetProperties()
4848
'id',
4949
'guid',
5050
'time',
51+
'timeImmutable',
52+
'dateInterval',
5153
'json',
5254
'simpleArray',
5355
'float',
@@ -76,6 +78,9 @@ public function typesProvider()
7678
return array(
7779
array('id', array(new Type(Type::BUILTIN_TYPE_INT))),
7880
array('guid', array(new Type(Type::BUILTIN_TYPE_STRING))),
81+
array('time', array(new Type(Type::BUILTIN_TYPE_OBJECT, false, 'DateTime'))),
82+
array('timeImmutable', array(new Type(Type::BUILTIN_TYPE_OBJECT, false, 'DateTimeImmutable'))),
83+
array('dateInterval', array(new Type(Type::BUILTIN_TYPE_OBJECT, false, 'DateInterval'))),
7984
array('float', array(new Type(Type::BUILTIN_TYPE_FLOAT))),
8085
array('decimal', array(new Type(Type::BUILTIN_TYPE_STRING))),
8186
array('bool', array(new Type(Type::BUILTIN_TYPE_BOOL))),

src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineDummy.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,16 @@ class DoctrineDummy
5555
*/
5656
private $time;
5757

58+
/**
59+
* @Column(type="time_immutable")
60+
*/
61+
private $timeImmutable;
62+
63+
/**
64+
* @Column(type="dateinterval")
65+
*/
66+
private $dateInterval;
67+
5868
/**
5969
* @Column(type="json_array")
6070
*/

0 commit comments

Comments
 (0)