IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

[Symfony2] - Multiple orderby dans un Criteria


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Par défaut [Symfony2] - Multiple orderby dans un Criteria
    Bonjour,

    J'utilise en ce moment le Criteria pour filtrer une collection d'objets. Mais lorsque je souhaite réaliser un orderBy avec 2 champ, seul le premier est pris en compte. Je ne comprends pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $events = new Collections\ArrayCollection($results);
    $dateFrom = new \DateTime($date);
    $dateTo   = new \DateTime(date('Y-m-d H:i:s', strtotime($date . ' + 1 day')));
     
    $criteria = Criteria::create()
    	->where(Criteria::expr()->eq('activity', $activity));
     
    $criteria->orderBy(array(
    	"time" => "ASC",
    	"title" => "ASC"
     
    ));
    Je remercie d'avance pour d'éventuelles réponses .

  2. #2
    Membre expérimenté

    Inscrit en
    Juin 2008
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 307
    Par défaut
    Et si tu fais ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $criteria->orderBy(array("time" => "ASC"))
    ->addOrderBy(array("title" => "ASC"));
    est ce que ca marche mieux

    je trouve pas dans la doc de doctrine2 http://docs.doctrine-project.org/en/...l#expr-classes la notation que tu as utilisé.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Par défaut
    Bonjour,

    La documentation que j'ai utilisé est celle ci : http://doctrine-orm.readthedocs.org/...ng-collections

    Malheuresement avec un addOrderBy, cela ne marche toujours pas.

  4. #4
    Membre Expert Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Par défaut
    Est-ce qu'on peut savoir ce que ça veut dire "ça ne marche pas" ? Quel est le résultat attendu, quel est le résultat rendu ?

    Donne nous un exemple avec des données.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Par défaut
    En fait je souhaite que la collection soit trier par "time", puis ensuite par "title" mais en ce moment, il n'y a que "time" qui est pris en compte.

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Par défaut
    Bonjour,


    Ou se trouve ton code ?
    1 / dans un repository
    -> dans ce cas utilise plutôt le query builder

    2 / dans une méthode de ton entité

    -> Y a t'il déjà une annotation orderBy sur ton association qui pourrait interférer ? (si oui essaie de l'enlever)
    -> dans ton test, le tri se fait t'il
    -> au niveau SQL (dans ce cas tu devrais voir la requete généré dans le profiler symfony)
    -> au niveau php ? (Si la collection a déjà été chargé)

    (je viens de tester cette fonctionnalité de Doctrine que je ne connaissais pas, et j'ai bien mes 2 orderBy dans la requete SQL (SF 2.3 / Doctrine 2.2 )

Discussions similaires

  1. Multiples slashes dans FIndFirstFile
    Par kunda dans le forum Windows
    Réponses: 3
    Dernier message: 13/11/2007, 00h25
  2. [PHP-JS] Copier des multiples champs dans d'autres
    Par Akim13 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/07/2007, 16h26
  3. Choix multiple à afficher dans une autre fenêtre
    Par makohsarah dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/07/2007, 11h37
  4. Multiple requête dans 1 seul TQUERY
    Par AODRENN dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/06/2007, 10h41
  5. [MySQL] select multiple à reporter dans une requête
    Par PatBateman dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 07/03/2007, 14h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo