Tri Avec CakePHP

Par lynxfg, il y a 11 ans


Bonjour tout le monde,
Je suis entrain de développer un site web des annonces avec cakePHP 2.<br/><br/>
J'ai mon filtre de recherche qui est opérationnel. J'affiche la liste des annonces en mettant les annonces urgentes en dessus de la liste , j'aimerai bien faire un système de tri avec Paginate de CAKEPHP en gardant ces annonce urgentes en dessus quelques soit les critères de tri. <br/><br/>
NB : les annonces qui ont le champs urgent egal à 1 sont les annonces urgentes.<br/><br/>
Merci pour votre Aide

4 réponses

Arkantos, il y a 11 ans

Bonjour,

Pourquoi ne pas simplement faire deux requêtes dans ton controller :

  • Une où tu récupères uniquement les annonces urgentes (find normal)
  • L'autre où tu récupères uniquement les annonces non-urgentes (find pour paginate)

Ensuite, côté vue, tu affiches d'abord les annonces urgentes en haut, puis tu fais un paginate sur les annonces non-urgentes, de telle manière à ce que les annonces ugentes restent toujours en haut car elles ne seront pas influencées par le paginate.

En espérant avoir pu t'aider,
Arkantos

aschelch, il y a 11 ans

Bonjour,

Pourquoi ne pas rajouter un "ORDER BY urgent" manuellement dans l'array de ton paginate ?

$this->paginate['order']['urgent'] = 'DESC'; $annonces = $this->paginate();

Cela devrait faire l'affaire, non ?

Bonne soirée

lynxfg, il y a 11 ans

Merci Arkantos , Bonne idée ;)

Arkantos, il y a 11 ans

Bonjour,
De rien. Content d'avoir pu t'aider. :)

Arkantos