2017-10-18 1 views
0

내 PhpUnit 테스트에 이상한 문제가 있습니다. Symfony3를 사용하고, Doctrine과 DataFixtures는 OrderdFixutreInterface를 구현합니다. 내가 @ORM의 \ 열을 제거하면Symfony3 및 Doctrine DataFixtures

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

: 나는 DataFixtures에로드 할 엔티티에 주석 @의 ORM/열을 사용하면 , 그것은처럼 보이는 내가 엔티티에있는

THE ERROR HANDLER HAS CHANGED! 

Process finished with exit code 255 

정의로 끝 부품 모두 잘 작동합니다. 누군가 그 이유를 말해 줄 수 있습니까?

답변

0

당신이 정밀화하지 않은 @JoinColumn과 충돌 할 수도 있습니다. @JoinColumn은 optionnal이지만,이 경우 정확하지 않으면 doctrine은 @ORM\JoinColumn(name="slotPosition_id", referencedColumnName="id")을 고려할 것이라고 생각합니다. 나는 전문가가 아니므로 @ 컬럼을 제거 할 때 왜 작동하는지 알지 못하지만 거기에서 올 수도 있습니다.

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

참고 : Nullable은 기본적으로 @Column의 경우 FALSE입니다. @JoinColumn에서 @Column과 똑같이 정확하게 처리 할 수 ​​있습니다.

+1

감사합니다. Btw는 http://docs.doctrine-project.org/projects/doctrine-orm/en에 따라 작동합니다. /latest/reference/annotations-reference.html#joincolumn \ @JoinColumns에는 nullable 기본값 TRUE가 있지만 \ @Column에는 nullable defautl FALSE이 있습니다. 비트 지저분한 것 같아요. – Jimi

+0

'nullable'문서가 맞습니다. 기본적으로 있습니다. 'JoinColumn'에 대해서는 TRUE이지만, 기본적으로'Column'에 대해서는 FALSE입니다 (실제로는 절대로 알지 못합니다) – Kodoyosa

관련 문제