我有一个非常烦人的 symfony 1.2 和推进问题。
我有一个模型,我使用单表策略实现了继承。所以,这里是我的模型的摘录:
广告(id,posted_date,description)然后是从广告继承的RealEstateAd(位置,价格,交易类型)和JobAd(职位,要求,公司)。
我想显示所有广告,但我想以不同于 JobAd 的方式显示 RealEstateAd。为了实现这一点,我为 RealEstateAd 使用了部分,为 JobAd 使用了部分。
所以,在行动中,我这样做了:
$c = new Criteria();
$this->allAds = AdPeer::doSelect($c);
在模板中,我检查每个对象的类:
$add = $allAds[$i];
if ($add instanceof RealEstateAdd)
//Use the RealEstatePartial
问题是 $allAds 数组中的对象类是 sfOutputEscaperObjectDecorator。因此,根本没有显示任何内容。
我该如何处理这个问题?有没有办法获得一个包含实际属于 RealEstateAd 或 JobAd 类的对象的数组?这里的补水过程是如何进行的?