Doctrine 2 - 类表继承,按类型选择

Jan*_*ger 7 php doctrine-orm

我有两个实体 - 新闻和页面.定义如下:

/**
 * 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.

但有没有办法如何只选择"页面"实体,它们直接映射到Page类?或者我是否必须为此创建一些额外的实体扩展页面?

Jan*_*ger 12

解决方案是x INSTANCE OF Entity在WHERE子句中使用.

http://groups.google.com/group/doctrine-user/browse_thread/thread/b1dc52ed447204e2