Symfony3和Doctrine DataFixtures

时间:2017-10-18 22:16:37

标签: symfony doctrine phpunit

我的PhpUnit测试有一个奇怪的问题。 我使用Symfony3,Doctrine和DataFixtures实现了OrderdFixutreInterface。 当我在实体中使用注释@ ORM / Column时我想加载DataFixtures,它以

结尾
THE ERROR HANDLER HAS CHANGED!

Process finished with exit code 255

我在实体中的定义如下:

/**
 * @var SlotPosition
 *
 * @ORM\Column(name="slot_position_id", nullable=false)
 * @ORM\ManyToOne(targetEntity="SlotBundle\Entity\SlotPosition")
 */
private $slotPosition;

如果我删除@ORM \ Column部分一切正常。 有人能告诉我为什么吗?

1 个答案:

答案 0 :(得分:0)

我想这可能与你没有准备的@JoinColumn发生冲突。 @JoinColumn是期权,但如果你在这种情况下不准确,我认为学说会考虑@ORM\JoinColumn(name="slotPosition_id", referencedColumnName="id")。我不是专家,所以当你删除@Column时我不明白为什么它可行,但它可能来自那里。

/**
 * @var SlotPosition
 *
 * @ORM\ManyToOne(targetEntity="SlotBundle\Entity\SlotPosition")
 * @ORM\JoinColumn(name="slot_position_id", referencedColumnName="id")
 */
private $slotPosition;

注意:对于@Column,Nullable默认为FALSE。你可以在@JoinColumn中以与@Column

中相同的方式对其进行精确处理