2009-12-14 3 views
0

여러 하위 클래스가있는 클래스가 포함 된 개체 모델이 있습니다. 하위 클래스는 부모로부터 몇 개의 필드를 공유하지만 각각은 자신의 필드도 마찬가지로 입니다.Doctrine - 하위 클래스의 필드 목록 가져 오기는 모든 필드를 가져옵니다.

부모 클래스 유형의 개체를 다형성으로 저장하지만 하위 클래스 유형의 개체를 검색 할 수 있기를 원하기 때문에 column_aggregation 상속 유형을 사용하고 있습니다.

지금까지 하위 클래스 유형을 그대로 유지 한 채 객체를 검색 할 수 있습니다. 내 문제는 하위 클래스 중 하나에서 getColumns()를 호출 할 때, 내가 집계 테이블의 모든 필드를 가져와 모든 하위 클래스를 모두 함께 볼 수 있다는 것입니다.

하위 클래스에 실제로 속하는 입력란 만 가져 오는 방법이 있습니까?

답변

0

getColumns()의 출력은 디자인 적으로 정확합니다 (단순히 집계 된 테이블의 모든 열을 반환 함). 나는 Doctrine_Table->getColumns()이 해당 테이블에 하위 클래스가 있다는 사실을 잊어 버리고 있다고 생각한다. Doctrine_Table->getColumnDefinition() 또는 최후의 수단 Doctrine_Table->getColumnOwner($column)을 사용하여 어떤 열이 어떤 하위 클래스에 속하는지 추측 해보십시오.

+0

감사합니다 ... 내 엔티티 모델에 대해 다른 접근 방식을 사용했지만 결국 미래에 대해 알게되었습니다. – Sam

+0

... 잘못된 것임을 아는 것이 좋습니다! 해당 정보를 검색 할 수있는 방법은 없습니다 (schema.yml 분석 제외). 기본 (...) 모델과 테이블 클래스를 살펴보십시오. 상위 테이블은 _all_ 열을 정의합니다. – fishbone

관련 문제