2013-02-07 53 views
4

地區:不同捆綁中的實體之間的主義關聯映射或來自兩個不同捆綁的關聯實體?

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

解析目標實體監聽器允許您在運行時重新定義關聯。它可以讓你基本上像下面的一些映射:

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

正如你所看到的,映射的接口爲目標實體並沒有太大的意義。當您告訴每個My\Namespace\UserInterface都必須替換爲Other\Namespace\User參考時,它變得非常有用。

相關問題