2017-10-18 205 views
0

我有一个奇怪的问题,我的PhpUnit测试。 我使用Symfony3,Doctrine和DataFixtures实现OrderdFixutreInterface。 当我使用注释@ ORM /列在实体我想在DataFixtures加载,它与Symfony3和Doctrine 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 \专栏部分工作都很好。 有人可以告诉我为什么吗?

回答

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的FALSE为false。你可以像@Column那样在@JoinColumn中以同样的方式精确它。

+1

它工作的很好,谢谢:)顺便说一句,根据这个http://docs.doctrine-project.org/projects/doctrine-orm/en /latest/reference/annotations-reference.html#joincolumn \ @JoinColumns具有可为空的默认TRUE,但\ @Column具有可空的defautl FALSE ..位凌乱我想.. – Jimi

+0

你是正确的根据文档'可空'是默认'JoinColumn'为TRUE,但'Column'默认为FALSE(我其实从未注意到) – Kodoyosa

相关问题