J'ai un problème qui est assez ennuyeux avec symfony 1.2 et propel.
J'ai un modèle où j'ai implémenté l'héritage en utilisant la stratégie de table unique. Donc, voici un extrait de mon modèle:
Annonce (id, posted_date, description) puis RealEstateAd (emplacement, prix, transaction_type) et JobAd (position, exigences, société) qui héritent tous les deux de Ad.problème de sélection d'objets dans un contexte d'héritage dans propel-symfony
Je voudrais afficher toutes les annonces, mais je voudrais afficher un RealEstateAd différemment d'un JobAd. Pour ce faire, j'ai utilisé un partiel pour un RealEstateAd et un partiel pour un JobAd.
Ainsi, dans l'action, je l'ai fait:
$c = new Criteria();
$this->allAds = AdPeer::doSelect($c);
Dans le modèle, je vérifie la classe de chaque objet:
$add = $allAds[$i];
if ($add instanceof RealEstateAdd)
//Use the RealEstatePartial
Le problème est que la classe d'un objet dans les allAds $ array est sfOutputEscaperObjectDecorator. Donc, rien n'est affiché du tout.
Comment puis-je résoudre ce problème? est-il un moyen d'obtenir un tableau avec des objets qui sont en réalité de la classe RealEstateAd ou JobAd? Comment s'effectue le processus d'hydratation ici?
J'ai un problème lié à l'héritage Propel à table unique. Les pairs ne retournent pas le bon type d'objets. Toute aide grandement appréciée: http://stackoverflow.com/questions/2067354/propel-single-table-inheritance-issue –