Bonjour
Quelqu'un sait si c'est possible qu'un attribut d'une entity fais reference a deux entity et qu'il doit contenir la reference de l'un deux
je donne un example sur ce que je veut faire :
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="OC\PlatformBundle\Entity\A", cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
*/
private $A;
/**
* @ORM\ManyToOne(targetEntity="OC\PlatformBundle\Entity\B", cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
*/
private $B;
mon problem c'est que dans mon app il y'aura une reference soit de a soit de b et l'autre devra etre null du coup dans la bdd je vais me retrouve obligatoirement des ligne qui aurons un champ qui va contenir null et je veut eviter sa
Merci d'avance
Bonjour Aimen,
Tu veux avoir une entité qui appartient à deux autres mais éviter un champs null lorsqu'il n'y a pas de liaison?
Peut être que tu t'y prends mal...
Allons sur ce principe:
J'ai une entité A qui appartient à une liaison optionnelle aux entités B et C.
Alors je crée une entité D qui elle aura ces différents champs:
Cela t'évite normalement d'avoir des champs null, juste une petite requête à avoir dans ton repo puis c'est bon.
Bien à toi,
ccvf2s.
@ccvf2s : Bonjour ,
Bon je sais pas si j'ai bien compris ta solution mais on va considere que c'est le cas :p
Bin deja si je veut pas avoir ces champ c'est pour eviter le gaspillage d'espace dans la bdd
Toi tu me propose de cree une nouvelle entity donc elle aura une nouvelle table donc sa me convient pas pour se que je veut eviter
Ensuite je suis pas sur mais je pense que ta poser le meme probleme dans ta solution
tu dit liaison**_id correspond soit a une entity B ou C bin sa c'est mon probleme c'est de dire a doctrine que un attribut x peut etre une reference d'une entity a ou b
Merci a toi