2013-03-14 2 views
3

Join 테이블을 사용하는 OneToMany/ManyToOne 관계를 매핑하는 방법에 대한 제안을 찾고 있습니다. 내가 가지고있는 매핑을 취하지 않고, article_id가 미디어 테이블에 설정되어 있지 않다는 오류가 발생합니다.Doctrine 2 JoinTo 테이블을 가진 ManyToOne

class Media 
{ 
    // ... 

    /** 
    * @ManyToOne(targetEntity="Document", inversedBy="media") 
    * @JoinTable(name="articles_x_media", referencedColumnName="id") 
    * joinColumns={@JoinColumn(name="media_id", referencedColumnName="id")}, 
    * inverseJoinColumns={@JoinColumn(name="bid_id", referencedColumnName="id")}) 
    *) 
    */ 
    protected $document; 
} 

class Document 
{ 
    // ... 

    /** 
    * @OneToMany(targetEntity="Media", mappedBy="document")) 
    * @JoinTable(name="articles_x_media", referencedColumnName="id") 
    * joinColumns={@JoinColumn(name="article_id", referencedColumnName="id")}, 
    * inverseJoinColumns={@JoinColumn(name="media_id", referencedColumnName="id")} 
    *) 
    */ 
    protected $media; 
} 

답변

4

문서에 대한 OneToMany mapping with join table에서 특정 단락이있다.

어쨌든 원하는 것은 uni-directional ManyToMany association입니다.

또한 @OneToMany@JoinTable이 아니며 @ManyToOne도 마찬가지입니다.

+0

그냥 보았습니다.이 내용을 확인하고 피드백을 보내거나 곧 동의하십시오. – Shroder

+0

@Shroder 당신은 어떠한 피드백도 게시하지 않았습니다. 결과를 게시 해 주시겠습니까? – Wilt

+0

join 테이블로 양방향'one-to-many' 또는'many-to-one'을 원한다면? 이것이 가능한가? 고유 한 제약 조건으로 같은 'many-to-many'를 사용할 경우. 한 쪽/한쪽면에서는 어떻게 보이나요? Collection을 Singleton으로 만들기 위해 Getter에서 $ collection [0]과 같은 것을 사용해야합니까? 슬프게도이 경우는 Doctrine 스펙에 잘못 설명되어 있습니다. – Wilt

관련 문제