Disons que j'ai deux entités Doctrine, Person
et Company
. Les deux ont un champ address
qui accepte un objet de valeur d'adresse. Selon les règles métier, Company::Address
est requis tandis que Person::Address
peut être nul.Déclare Doctrine intégrable comme NULL ou non
Doctrine 2.5 propose the Embeddable type, qui a apparemment été construit avec des objets de valeur à l'esprit et, en effet, je le vois comme une solution parfaite pour mon cas.
Cependant, il y a une chose que je ne peux pas faire: déclarer que Person::Address
est nullable alors que Company::Address
ne l'est pas. Un attribut booléen nullable
existe pour les champs d'Embedded eux-mêmes, mais bien sûr cela s'applique à chaque entité dans laquelle l'adresse est incorporée.
Est-ce que quelqu'un sait si quelque chose me manque ou si cela est dû à une limitation technique, si il y a une solution de contournement, etc.? À l'heure actuelle, la seule solution que je vois est de déclarer tous les champs Embeddable comme nullable: true
et gérer la contrainte dans mon code.