De rien, tout ça est très bien décrit dans la doc de symfony,
http://www.symfony-project.org/book/1_0/08-Inside-the-Model-Layer .
Si tu doit filtrer tes fournisseurs par nom de site, la solution que
tu viens de donner est sûrement la meilleure pour la raison expliquée
(nombre de requêtes conséquentes). Je n'ai pas regardé dans le détail
ta méthode, vu que je ne connais pas Propel, cependant je ne vois pas
où tu précises le nom du site à choisir.
Damien
On 8 avr, 17:13, morganistic <[EMAIL PROTECTED]> wrote:
> ALORS LA DAMIEN RESPECT!!!!
>
> c'est exactement çà que je cherchais a faire!
> t' es vraiment enorme sur ce coup!
> MERCI!
> et du coup j' ai vraiment compris un très gros morceau de symfony qui
> restait encore un peu flou pour moi!
> A un tel point, que je remet dèjà en cause ce bout de code:
>
> en effet, en procedant comme ca (pour recuper le nom du site associé a
> un fournisseur):
>
> si j' ai 90 fournisseurs, je vais avoir 90 appel a getNomSite() donc
> 90 requettes pour afficher 90 fois le nom du site,
> donc ne serait t il pas mieux dans mon cas de faire une statique
> methode dans fournisseurPeer,
> de ce style?
> public static function getFournisseurWithNomSite($con
> = null)
> {
> if ($con === null)
> {
> $con = Propel::getConnection(parent::DATABASE_NAME);
> }
> $objs = null;
>
> $c=new Criteria();
> $c->addSelectColumn(FournisseurPeer::IDSITE);
> $c->addSelectColumn(FournisseurPeer::NOM);
> $c->addSelectColumn(FournisseurPeer::NUM);
> $c->addSelectColumn(SitePeer::NOM);
>
>
> $c->addjoin(FournisseuPeer::IDSITE,SitePeer::NUM,Criteria::LEFT_JOIN);
>
>
> $c->addAscendingOrderByColumn(FournisseurPeer::IDSITE);
>
> $c->addAscendingOrderByColumn(FournisseurPeer::NOM);
>
> $objs = MarquePeer::doSelectRS($c, $con);
> while($objs->next())
> {
> $resultat[] = $objs->getRow();
> }
> return $resultat;
> }
>
> dans ce cas je n' aurais qu' une requette qui renvoie toutes mes
> infos?
>
> est-ce mieux au niveau de l'idée? ou dois-je malgré tout preferer :
> function getNomSite(){} ??
>
> cordialement, julien.
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr"
de Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse [EMAIL PROTECTED]
Pour afficher d'autres options, visitez ce groupe à l'adresse
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---