2011-07-29 3 views
0

"Post"엔티티가 있는데 사용자가 해당 게시물에 투표하도록합니다. 인증 된 사용자와 익명 사용자의 투표는 별도의 DB 테이블에 저장되므로 동일한 인터페이스를 구현하는 두 개의 별도 "VoteAnonymous"및 "VoteAuthenticated"엔티티가 있습니다.doctrine2 polymorphic reference

이제 "게시"엔터티 및 해당 "targetEntity"옵션에서 참조를 정의하는 데 문제가 있습니다. Doctrine2가 다형성 클래스 중 하나를 필드의 대상 엔터티로 선택할 수있는 방법이 있는지 궁금합니다.

도움 주셔서 감사합니다.

P. DB를 다시 디자인 할 수는 없지만이 데이터 구조에 기반한 많은 레거시 코드가 있습니다. 당신이 공통 parrent을 공유하는 두 다른 엔티티를 생성해야하므로

+0

아, 글쎄, 그냥 관계를 단방향으로 만들어야하고 좋은 오래된 PHP를 사용해야한다고 생각합니다. – artshpakov

+1

내가 도움이 될 것 같아요 : http://stackoverflow.com/questions/6634357/doctrine-orm-conditional-association/6634436#6634436 – Crozin

+0

죄송합니다, 내 의견에 요점을 볼 시간이 좀 걸렸습니다 :) 나는 어떻게 든 @MappedSuperclass 주석을 간과했다. 내가 그것을 받아들이 기 위해 대답을 게시 하시겠습니까? – artshpakov

답변

0

교리는, 상속을 지원, 모든 속성을 정의하는 AbstractVote을 말한다.

this answer 참조 -이 구조의 예가 들어 있습니다.