J'ai deux entitéscomportement en cascade étrange Doctrine2
TB\Entity\UserProfile
/**
* @OneToMany(targetEntity="TB\Entity\ShopVideo", mappedBy="shop",
* cascade={"persist", "remove"}
*)
*/
private $video;
et TB \ Entité \ ShopVideo
/**
* @var UserProfile
*
* @ManyToOne(targetEntity="TB\Entity\UserProfile")
* @JoinColumns({
* @JoinColumn(name="shop", referencedColumnName="id")
* })
*/
private $shop;
Si je crée une instance UserProfile et une instance ShopVideo comme si
$profile = new TB\Entity\UserProfile();
$model = new TB\Entity\ShopVideo();
$profile->getShopVideo()->add($model);
$this->_em->persist($profile);
$this->_em->flush();
Je m'attendrais à ce que la colonne 'shop' soit remplie avec l'identifiant de 'UserProfile' (et d'autres modèles cela a fonctionné) ... Cependant, je reçois l'erreur (en raison de contraintes de clés étrangères)
PDOException: SQLSTATE [23000]: Intégrité violation de contrainte: 1048 Colonne 'shop' ne peut pas être nul
/Users/ABCD/work/TB/TB/library/Doctrine/DBAL/Statement.php:131
/Users/ABCD/work/TB/TB/library/Doctrine/ORM/Persisters/BasicEntityPersister.php:226
/Users/ABCD/work/TB/TB/library/Doctrine/ORM/UnitOfWork.php:698
/Users/ABCD/work/TB/TB/library/Doctrine/ORM/UnitOfWork.php:280
/Users/ABCD/work/TB/TB/library/Doctrine/ORM/EntityManager.php:328
I juste ne comprends pas pourquoi le ShopVideo ne cascadant pas l'opération et la définition de la colonne de la boutique avec l'id de l'USerProfile? Toute aide serait appréciée!