PHP:为数组中的每个帖子添加注释计数

PHP:为数组中的每个帖子添加注释计数,php,mysql,arrays,codeigniter,Php,Mysql,Arrays,Codeigniter,我有两个模型“post_模型”和“comment_模型” 在Post_控制器中,我从Post_模型中获得一个结果数组,该数组包含所有Post 我试图为每个帖子添加评论,但我无法添加,需要帮助 注释表具有post_id 请告诉我如何处理这件事。 提前感谢。类似的内容应该会为您提供每篇文章的评论数: SELECT COUNT(*) AS comment_cnt, post_id FROM comment_table GROUP BY post_id; 然后可以遍历结果集并丰富相应的pos

我有两个模型“post_模型”和“comment_模型”

在Post_控制器中,我从Post_模型中获得一个结果数组,该数组包含所有Post

我试图为每个帖子添加评论,但我无法添加,需要帮助

  • 注释表具有post_id
请告诉我如何处理这件事。
提前感谢。

类似的内容应该会为您提供每篇文章的评论数:

SELECT 
COUNT(*) AS comment_cnt, post_id 
FROM comment_table 
GROUP BY post_id;
然后可以遍历结果集并丰富相应的post对象。 如果您只想统计某些特定帖子的评论,并且您知道他们的帖子id,您可以执行以下操作:

SELECT 
COUNT(*) AS comment_cnt, post_id 
FROM comment_table 
WHERE post_id IN (post_id1, post_id2, ...) 
GROUP BY post_id;
试试这个

SELECT 
  p.post_id,
  (SELECT count(c.post_id) FROM comments c WHERE c.post_id = p.post_id) cnt 
FROM posts p 
GROUP BY p.post_id LIMIT 5

希望这能解决您的问题。

所以您正在尝试编写查询以获取数据,对吗?向我们显示您尝试过的查询?我尝试过这样做:从帖子中选择p.post\u id,count(c.post\u id)p左连接注释c使用(post\u id)按p.post\u id分组,但如果我使用限制5,它将无法正常工作@rahul_mIt是正确的查询。但是当我使用LIMITOk时,它不能正常工作,请检查我的答案,我修改了您的查询以获得所需的结果。真棒:)谢谢。
SELECT 
  p.post_id,
  (SELECT count(c.post_id) FROM comments c WHERE c.post_id = p.post_id) cnt 
FROM posts p 
GROUP BY p.post_id LIMIT 5