Bonsoir,
je suis pas à pas le tutoriel Jobeet sur le site de symfony, en créant à côté mon propre site. J'ai pas mal factorisé ma base de donnée en utilisant des tables de relation. Résultat : j'ai besoin de faire des jointures multiples (sur trois tables).
Actuellement je procède de la sorte dans le contrôleur (je passerais tout ça dans le model une fois que ça marchera):
(2 tables: com et dev, dev_com étant la table de relation)
1 2 3 4 5 6 7 8 9
| public function executeIndex(sfWebRequest $request)
{
$q = Doctrine_Query::create()
->select('c.*, d.*, d2.*')
->from('Com c')
->leftjoin('c.DevCom d on c.idCom = d.Com_idCom')
->leftjoin('d.Dev d2 on d2.idDev = d.dev_idDev');
$this->coms = $q->execute();
} |
ça marche. Je ne sais pas si c'est très propre mais ça marche.
Mon problème est tout simple : je ne sais pas comment récupérer les données dans ma vue ! 
pour la table com, aucun problème :
ex:
<td><?php echo $com->getCom() ?></td>
pour les tables dev et dev_com, c l'enfer.
----
Au passage, une petite question supplémentaire: dans le formulaire d'édition ( monsite.com/com/new), doctrine arrive à me retrouver tout seul comme un grand les valeurs de dev (j'ai configurer les to_string qui vont bien dans la classe com). J'imagine que doctrin fait des jointures automatiques. Y-a-t-il un moyen de faire appel à ces jointures automatiques depuis la vue ou le contrôleur ?
---
merci à vous
Partager