2013-02-07 3 views
4

지역 :서로 다른 번들의 엔티티 간의 Doctrine 연결 매핑 또는 두 개의 다른 번들의 엔티티 연결?

namespace Acme\RegionBundle\Entity; 

class Region 
{ 

    private $id; 

    /** 
    * @ORM\OneToMany(targetEntity="User") 
    * @ORM\JoinColumn(name="region_id", referencedColumnName="id") 
    */ 
    private $users; 
} 

사용자 :

namespace Acme\UserBundle\Entity; 

class User 
{ 
    private $id; 
    private $region_id; 
} 

하드 즉 완전히 지정된 엔티티 경로를 언급 의존성을 코딩없이 다른 번들에서 엔티티 관계하는 방법.

더 좋은 방법이 있습니까?

Resolve Target Entity Listener이 해결책이 될 수 있습니다. 어떻게 적용 할 수 있는지 이해할 수 없습니까?

답변

6

resolve 대상 엔티티 수신기를 사용하면 런타임에 연관을 다시 정의 할 수 있습니다. 많은 이해가되지 않습니다 대상 엔티티와 같은 인터페이스를 매핑,

@ORM\OneToMany(targetEntity="My\Namespace\UserInterface") 

당신이 볼 수 있듯이 : 그것은 당신이 기본적으로 다음과 같이 뭔가를 매핑 할 수 있습니다. My\Namespace\UserInterfaceOther\Namespace\User 참조로 바꿔야한다고 말할 때 정말 유용합니다.

관련 문제