Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/06/2011, 13h31   #1
Nouveau Membre du Club
 
Inscription : novembre 2009
Messages : 67
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 67
Points : 27
Points : 27
Par défaut Doctrine_pager et Relations

Bonjour, j'aimerais avoir une amélioration:
Voila ce que je cherche:
pour utiliser Doctrine_pager , on dois luis passer en paramétre une query

Code :
1
2
3
4
5
6
 
    $this->pager = new sfDoctrinePager('BlogPost', $nbPosts);
    // Le pager prends en paramètre une requête doctrine.
    $this->pager->setQuery($MonRequete);
    $this->pager->setPage(1);
    $this->pager->init();
j'aimerais au lieu passer une query au pager , j'aimerais utiliser une relation de mon schema.yml
puisque mon relation me retourne la collection d'objet que je cherche y a t'il une méthode pour l’utilisé avec sfDoctrinePager ?
belgacem.tlili est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 18h16   #2
Membre habitué
 
Avatar de Maerlyn31
 
Homme Baptiste Naudinat
Développeur Web
Inscription : mai 2011
Messages : 70
Détails du profil
Informations personnelles :
Nom : Homme Baptiste Naudinat
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2011
Messages : 70
Points : 146
Points : 146
Le pager doit être utilisé avec une requête Doctrine, il ne voudras pas te prendre une collection d'objets.

La solution la plus simple est sans doute de créer une nouvelle méthode dans ton fichier lib/model/doctrine/ton_modeleTable.class.php, qui renvoie la requête souhaitée (attention, uniquement la requête, c'est à dire que ta méthode ne doit PAS contenir le ->exectue()

Ensuite dans ton action tu fais quelque chose comme :

Code :
1
2
3
4
 
$requete = Doctrine::getTable('TonModele')->taNouvelleMethode();
...
$this->pager->setQuery($requête);
Donne nous des détails sur ton modèle de données si tu as besoin d'aide pour écrire la requête
Maerlyn31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 00h15   #3
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Le sfPager modifie la requête envoyée pour ne récupérer que les enregistrements liés à la page.

De plus, si tu lui donne une collection, ceci pourrait fonctionner pour la première page, mais comment le sfPager pourrait-il alors récupérer les données pour l'affichage des pages suivantes?
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h53.


 
 
 
 
Partenaires

Hébergement Web