2017-10-18 14 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はオプションですが、正確でない場合は、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にはnullのデフォルトTRUEが設定されていますが、\ @Columnにはnullのdefautl FALSEが設定されています。 – Jimi

+0

デフォルトでは、ヌル可能です。 'JoinColumn'ではTRUEですが、デフォルトでは' Column'ではFALSEです(私はそれに気づいたことはありません) – Kodoyosa

関連する問題