This package serves as workaround for Doctrine's lack of support of nullable embeddables due to implementation of embeddables in Doctrine 2.5+ For more informations about the issue see doctrine/doctrine2.
The best way to install fmasa/doctrine-yaml-annotations is using Composer:
$ composer require fmasa/doctrine-nullable-embeddables
There are several conditions that has to be met:
- Property with nullable embeddable must use
Fmasa\DoctrineNullableEmbeddables\Annotations\Nullable
annotation. - Every property in nullable embeddable must be nullable (or must use
Nullable
annotation if it's embeddable)
Now all you have to do is register Fmasa\DoctrineNullableEmbeddables\Subscriber
and you have nullable embeddables working:
/* @var $annotationReader Doctrine\Common\Annotations\Reader */
/* @var $em Doctrine\ORM\EntityManager */
$evm->addEventSubscriber(new Fmasa\DoctrineNullableEmbeddables\Subscriber($annotationReader));
See fmasa/doctrine-yaml-annotations to make extensions like this work with YAML mapping.