2012-01-30 79 views
0

我已經定義了以下關係在我的實體:Symfony2的 - 學說 - 一對多

實體區

/** 
* @var areaHasCategory $categories 
* 
* @ORM\OneToMany(targetEntity="areaHasCategory", mappedBy="area", cascade={"ALL"})" 
*/  
private $categories; 

實體areaHasCategory

/** 
* @var area $area 
* 
* @ORM\Id 
* @ORM\ManyToOne(targetEntity="area", inversedBy="categories") 
* @ORM\JoinColumn(name="pkfkArea", referencedColumnName="pkId", nullable=false) 
*/ 
private $area; 

/** 
* @var category $category 
* 
* @ORM\Id 
* @ORM\ManyToOne(targetEntity="category", inversedBy="areas") 
* @ORM\JoinColumn(name="pkFkCategory", referencedColumnName="pkId", nullable=false) 
*/ 
private $category; 

實體類

/** 
* @var areaHasCategory $areas 
* 
* @ORM\OneToMany(targetEntity="areaHaCategory", mappedBy="category", cascade={"ALL"})" 
*/ 
private $areas; 

當我真實的時候從我的控制器中的數據庫中找到一個區域,類別的arrayCollection爲空。 我用夾具保存了數據。 分析器顯示所有選擇語句,當我優先從類別表中讀取數據的查詢時,一切都很好。 但是$ area-> getCategories()是空的。

有沒有人知道我做錯了什麼?

+0

對我的問題沒有人知道嗎? – 2012-02-01 09:57:36

回答

0

嘗試不使用@ORM \ Id作爲關係字段併爲主鍵添加單獨的字段。

+0

我只發佈了示例代碼。原始的城市表有兩個外鍵,這些鍵一起是唯一的。你認爲這是一個問題嗎? – 2012-01-30 14:02:43

+1

如果你給出了示例代碼,我們如何告訴你什麼是錯的? – meze 2012-01-30 15:32:26

+0

對不起,你是對的,我已經把上面的原始代碼。 – 2012-01-31 15:02:16