尝试将实体与另一个实体关联会导致插入

时间:2014-08-21 13:48:28

标签: php doctrine-orm zend-framework2

我是Doctrine 2的新手,我正在尝试创建新的Transaction,然后尝试查看该Transaction是否属于任何pre-existing Category。如果是,则将此Transaction与给定的Category

相关联

当我在突出显示的位置运行下面的代码时,它应该将TransactionCategory相关联。但是我得到以下Error然后告诉我代码正在尝试添加新的Category ...但我需要它做的是在表{{1}中添加新的引用(请参阅下面的图片以查看此表架构)而不是新的类别......因为那个已经存在....

它是transactions_category关联

如何正确关联这两个实体?

enter image description here

错误:

ManyToMany

守则

An exception occurred while executing 'INSERT INTO category (name) VALUES (?)' with params ["Gyms"]:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'Gyms' for key 'name'

1 个答案:

答案 0 :(得分:1)

在添加transaction

之前,请尝试保留category并刷新
$this->getEntityManager()->persist( $transaction );
$this->getEntityManager()->flush();

//add category
$transaction->addCategory($category);
$this->getEntityManager()->persist( $transaction );
$this->getEntityManager()->flush();