Bonjour à tous,
Je vous envoie ce message car, dans le cadre du projet 3, j'aimerais afficher, dans le back-end, le nombre de commentaires par article.
J'aimerais afficher ce nombre de commentaires dans la vue "Chapters" qui présente tous les articles. Or, j'ai ici un bug : actuellement s'affiche le nombre total de commentaires sur chaque ligne et non le nombre de commentaires par post.
Voici ce que j'ai indiqué dans le model :
J'ai essayé de faire une jointure dans la table "post" et la table "comment". En lui disant, "sélectionne les id dans la table "comment", compte-les, et sache que dans la table post "id" est égale à "post_id" dans la table "comment".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public function getNumberCommentsbychapter() { $sql = 'SELECT c.id, count(*) as nbCommentsChp from comment as c INNER JOIN post as p ON p.id = c.post_id '; $result = $this->executeRequest($sql); $line = $result->fetch(); // Le résultat comporte toujours une ligne. return $line['nbCommentsChp']; } }
Voici ce que j'ai indiqué dans le controller :
Savez-vous où j'ai bien pu me tromper ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public function chapters() { $posts = $this->post->getPosts(); // va chercher la méthode getPosts dans le model post.php l.20 $nbCommentsChp = $this->comment->getNumberCommentsbychapter(); $this->buildView(array('posts' => $posts, 'nbCommentsChp'=> $nbCommentsChp)); }
Je vous remercie par avance pour votre aide.
Vanessa
Partager