Symfony3学说关系多对一

时间:2017-03-26 11:00:43

标签: symfony doctrine-orm orm

我有一个名为Color的实体和另一个名为Text的实体。 我希望用户能够选择文本的颜色。 为此,他将从数据库中预先保存的颜色中进行选择。

我设法让它发挥作用。 因此,用户可以选择颜色,添加文本。

但是一旦用户尝试添加其他文本然后为当前文本选择相同的颜色,我会收到以下错误:

  

"执行' INSERT INTO时发生异常   post_bloc_texte_image(texte_id,couleur_fond_id,titre_id,image_id)   价值观(?,?,?,?)'参数[25,1,18,2]:

     

SQLSTATE [23000]:完整性约束违规:1062 Duplicata du   冠军' 2'倾注' UNIQ_C37A2EE3DA5256D'"

一个文本应该只有一个选定的颜色,但另一个文本可以选择相同的颜色。 这就是我选择在文本实体中使用ManyToOne关系的原因

/**
 * @ORM\ManyToOne(targetEntity="MH\MailBundle\Entity\Tool\Couleur", cascade=   {"persist"})
 */
private $couleurFond;

我应该和ManyToMany一起去吗? 但我已经尝试制作一个带有EntityType的表单,但我无法制作它。

->add('couleurFond', EntityType::class, array(
            'class'        => 'MHMailBundle:Tool\Couleur',
            'choice_label' => 'nom',
            'multiple'     => false,
        ))

AnyOne有正确的方法吗?

非常感谢你对我的英语感到抱歉;)

0 个答案:

没有答案