我有我的entites簡單的表繼承的訪問性能,說somehing,如:學說2 - 單表繼承 - 子實體
/**
* @InheritanceType("SINGLE_TABLE")
* @DiscriminatorColumn(name="type", type="string")
* @DiscriminatorMap({"base"="BaseArticle", "extended"="ExtendedArticle"})
*/
class BaseArticle extends \Models\BaseModel{
...
}
class ExtendedArticle extends BaseArticle{
/**
* @column(type="string")
*/
protected $extendedProperty;
}
我需要做的所有文章類型的查詢,但在某些類型限制某些屬性的查詢,即在擴展ExtendedArticle,即:
SELECT a FROM BaseArticle a WHERE (a INSTANCE OF BaseAricle) OR (a INSTANCE OF ExtendedArticle AND a.extendedProperty = "xy")
至極給了我如下因素的異常:
[Semantical Error] line 0, col 406 near 'extendedProperty="xy"))': Error: Class Models\Articles\BaseArticle has no field or association named location
所以問題是,如何在查詢父類時訪問孩子的屬性?
謝謝,但我真的不喜歡爲簡單的事情做這樣一個低效的子查詢的想法。在SQL中,這是非常簡單的任務,在我看來,學說需要一些本地支持。 – DaveLister 2012-08-15 08:53:32