Je cherche à modifier l'ordre des jointures dans une requete générée par Propel
Voici la structure de ma base
Code : Tout sélectionner
tableFAMILLE [ id, name ]
tableMEMBRE [ id, famille_id, name ]
tableBIDON [ id ]Code : Tout sélectionner
select * from famille, membre where membre.famille_id = famille.id and famille.id = 4Code : Tout sélectionner
select * from famille join membre on (membre.famille_id=famille.id and famille.id=4)Cela me permet d'écrire (et d'optimiser) ma requête ainsi :
Code : Tout sélectionner
select * from bidon
join famille on (famille.id=4)
join membre on (membre.famille_id = famille.id)Je peux tenter un :
Code : Tout sélectionner
$c = new Criteria();
$c->addJoin( BidonPeer::ID, FamillePeer::ID, Criteria::JOIN );
$c->addJoin( MembrePeer::FAMILLE_ID, FamillePeer::ID, Criteria::JOIN );
MembrePeer::doSelect($c);Comment puis je obtenir ma requête 'optimisée' ?
L'étape la plus difficile est, je crois, de faire en sorte que la requete commence par "select * from bidon" alors que l'on veut remonter des 'membres' :
apparement, le fait de faire un MembrePeer::doSelect($c) impose que la requete commence par "select * from membres", ce qui m'emmerde...
Avez vous des idées ?
JC