2012-01-30 2 views
0

내 기관에 다음 관계를 정의했습니다 :symfony2 - 교리 - oneToMany

엔티티 지역

/** 
* @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; 

을 내가 진짜야. 내 컨트롤러에서 데이터베이스의 영역을 구분할 때 category의 arrayCollection이 비어 있습니다. 데이터를 조명기에 저장했습니다. 프로파일 러는 모든 select 문을 보여주고 범주 테이블에서 데이터를 읽는 쿼리를 exceute하면 모든 것이 잘됩니다. 하지만 $ area-> getCategories()가 비어 있습니다.

내가 뭘 잘못하고 있는지 아무도 모른다.

+0

누구도 내 문제에 대한 아이디어가 없습니까? –

답변

0

관계 필드에 @ORM \ Id를 사용하지 말고 기본 키에 대해 별도의 필드를 추가하십시오.

+0

예제 코드를 게시했습니다. 원래의 City Table은 두 개의 외래 키를 가지고 있으며이 키들은 함께 고유합니다. 이것이 문제라고 생각합니까? –

+1

예제 코드를 제공하면 무엇이 잘못되었는지 말할 수 있습니까? – meze

+0

죄송 합니다만, 위의 원래 코드를 넣었습니다. –