Hello,
Essaie simplement un sizeof(Set::extract($categorie,
'Category.Articles.{n}')) où $categorie hasMany Articles.
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
-~----------~----~----~----~------~----~------~--~---