Bonjour, voila mon souci, je veux que l'utilisateur quand il regarde la liste des articles que j'ai écrite voir le nombre de commentaire lier à cet article. Donc naturellement je me tourne sur le find('count') de cakephp pour qu'il me calcule le nombre de commentaire pour chaque article mais au lieu de sa il me compte tous les commentaires sans distinction des articles ce qui veut dire que chaque article à le même nombre de commentaire ce qui n'est pas le cas.
public $uses = array('Post', 'Comment');
public function index(){
$allPost = $this->paginate('Post');
if ($this->request->is('requested')) {
return $allPost;
} else {
$this->set('allPost', $allPost);
}
$nbreComment = $this->Post->Comment->find('count', array(
'fields' => 'Comment.id',
)
);
$this->set('nbreComment', $nbreComment);
}
Merci de votre aide à créer ce find('count').
Bon j'ai trouvé quelque chose de pas très catholique mais qui marche, en gros je compte le nombre commentaire dans ma page index.
<?php foreach ($allPost as $k => $v): ?>
<?php
if(!$v'Comment']){
$nbreComment = 0;
} else{
$i = 0;
while(@$v'Comment']$i]){
$i = $i + 1;
}
$nbreComment = $i;
}
?>
$nbreComment est le nombre de commentaire.
Salut, en effet j’avais le même soucis que toi pour le find('count') et j'ai résolu ce problème en utilisant le CounterCache.