두 개의 항목 - 뉴스와 페이지가 있습니다. 정의는 다음과 같습니다 : 전용 "뉴스"엔티티를 선택하는 방법을Doctrine 2 - 클래스 테이블 상속, 유형별로 선택
/** * Description of Page * @Entity * @InheritanceType("JOINED") * @DiscriminatorColumn(name="type", type="string") * @DiscriminatorMap({ * "news" = "News" , * "page" = "Page"}) * * @table( * name="pages" *) */ class Page extends BaseEntity {...} class News extends Page {...}
나도 알아, - SELECT ... FROM News n
간단합니다.
페이지 클래스에 직접 매핑되는 "페이지"엔티티 만 선택하는 방법이 있습니까? 아니면 이것을 위해 페이지를 확장하는 추가 엔티티를 만들어야합니까?
무엇을하려고합니까? 나는 당신이 적절한 방법으로 클래스 테이블 상속을 사용하고 있는지 확신하지 못한다. –
제목, 텍스트, 저자 등의 속성을 가진 기본 항목 페이지가 있습니다. 뉴스는 요약, 주석 연결 등과 같은 몇 가지 추가 속성으로 확장됩니다. 단일 테이블 상속을 사용하여이 작업을 수행 할 수는 있지만 가능합니다. 결과가 하나의 큰 테이블이기 때문에 그것이 올바른 접근이라고 생각하지 않습니다. –
나는 뭔가를 놓쳤는가? ... 왜'SELECT * FROM Page ... '를 쿼리 할 수 있습니까? – Cobby