On 26 mar, 17:21, Christophe Cholot <[EMAIL PROTECTED]>
wrote:
> Hello,
>
> Essaie simplement un sizeof(Set::extract($categorie,
> 'Category.Articles.{n}')) où $categorie hasMany Articles.
ceci fonctionne bien

mais ensuite je cherche a obtenir le nombres d'articles par catégorie.
non leur coût ;)
mais ca pourra serivr pour d'autres cas à n'en pas douter.

> Si tu veux le cout total des articles par catégories :
> array_sum(Set::extract($categorie, 'Category.Articles.{n}.price'))
>
> On Mar 26, 4:05 pm, foxmask <[EMAIL PROTECTED]> wrote:
>
> > Je peine à afficher le nombre d'article d'une categorie donnée ...
> > à l'issu de ma methode list_cat dans ma vue je voudrai afficher le
> > nombre d'articles existant pour la catégorie
>
> > ma méthode devient
> >         public function list_cat($cat_id = null) {
>
> >                 if (!$cat_id) {
> >                         $this->Session->setFlash(__('Invalid 
> > Category.',true));
> >                         $this->redirect(array('action'=>'index'), null, 
> > true);
> >                 }
> >         $this->Article->recursive = 0;
> >                 $this->set('articlesCats', 
> > $this->Article->ArticlesCat->findAll());
> >                 $this->set('articlesCatsCount', 
> > $this->Article->ArticlesCat->findCount());
>
> >                 $this->set('articles', 
> > $this->paginate('Article',$this->Article-
>
> > >createStatment($cat_id) ));
>
> >         }
>
> > mais dans ma vue articlesCastCount me donne que le nombre d'article de
> > la derniere categorie lue.
>
> > là je commence a avoir les yeux qui se croisent ;)
>
> > si qq1 pourrait m'eclairer .
>
> > Merci.
>
> > On 26 mar, 14:48, foxmask <[EMAIL PROTECTED]> wrote:
>
> > > je me reponds za moi meme ;)
>
> > > grâce à 
> > > cecihttp://www.formation-cakephp.com/30/pagination-avec-criteres-de-filtr...
>
> > > j'ai pu faire simplissime en creant la partie createStatement dans le
> > > model  Article
>
> > >         public function createStatment ($cat_id) {
> > >             $statment = array();
> > >         array_push($statment,array("{$this->name}.cat_id" => $cat_id));
> > >         return $statment;
> > >         }
>
> > > puis dans le controleur Article :
> > >         public function list_cat($cat_id = null) {
>
> > >                 if (!$cat_id) {
> > >                         $this->Session->setFlash(__('Invalid 
> > > Category.',true));
> > >                         $this->redirect(array('action'=>'index'), null, 
> > > true);
> > >                 }
> > >                 $this->Article->recursive = 0;
> > >                 $this->set('articlesCats', 
> > > $this->Article->ArticlesCat->findAll());
> > >                 $this->set('articles', 
> > > $this->paginate('Article',$this->Article->createStatment($cat_id) ));
>
> > >         }
> > > comme cela dans la meme page j'ai la liste de mes articles pour une
> > > categorie donnée et la liste des categories
> > > pour "filrer" par categorie au lieu de la liste de tous les articles.
>
> > > On Mar 26, 2:23 pm, foxmask <[EMAIL PROTECTED]> wrote:
>
> > > > par defaut l'acces à index utilise $this->set('toto',$this-
>
> > > > >paginator());
>
> > > > mais quand en amont je fais un 
> > > > $this->Articles->findAllByCatId($cat_id); le paginator continue de me 
> > > > prendre la
>
> > > > totalite des enregistrement au lieu de ceux pour lesquels la categorie
> > > > est indiquée.
>
> > > > Comment faire pour que paginator utilise ce nouveaux jeu de données ?
> > > > (sachant que je souhaite utiliser paginator pour la splendide
> > > > fonctionnalité quelle apporte)
>
> > > > Merci
>
> > > > Cdt.
--~--~---------~--~----~------------~-------~--~----~

Groupe "Cakephp-fr".
Adresse : [email protected]
Pour résilier  : [EMAIL PROTECTED]
Pour les options : http://groups.google.com/group/cakephp-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à