php - 连接表的 Codeigniter 计数结果

标签 php mysql sql codeigniter activerecord

我正在 codeigniter 中进行在线讨论,我需要获得所有主题及其所有数据的结果,例如帖子 ID、帖子作者、文本等,还需要计算对该特定主题的回复。

$this->db->where('language', $lang)
         ->order_by('forum_id', 'desc')->limit($limit, $offset)
         ->get('forum');

这是我当前的“数据库选择器”。我的另一个表被称为 responses with cols: response_id, forum_id, author 等。如何在那里加入它?但只是结果的数量?比如:这个主题有 0 个答案,这个主题有 3 个答案,不需要答案中的数据,只需要关于主题和答案数量的数据。但我需要留在那里:

->where('language', $lang)
->order_by('forum_id', 'desc')->limit($limit, $offset)

由于分页和多语言支持。谢谢。

最佳答案

谢谢大家,这是工作代码:

$this->db->where('forum.language', $lang)
         ->order_by('forum.forum_id', 'desc')
         ->limit($limit, $offset)
         ->select('forum.*, COUNT(responses.response_id) as num_answers')
         ->from('forum')
         ->join('responses', 'responses.forum_id = forum.forum_id','left')
         ->group_by('forum_id')
         ->get();

关于php - 连接表的 Codeigniter 计数结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30423026/

相关文章:

PHP SQL 搜索系统

php - 根据ID点击时在网页中显示不同的数据

php - 如何加载测试 PHP Web 论坛软件?

php - 来自另一个目录的包含文件找不到 CSS 文件或图像?

PHP 替换特殊字符,如 à->a、è->e

java - Hibernate @ManyToMany -- 未填充连接表

sql - 如何在同一张 table 上没有左连接的情况下获得D1 D7 D30

c++ - MySQL select for update,多线程超时

php - 如何使用 AJAX 删除 mySql 表行

c# - 如何使用 ADO.NET 和存储过程在数据库中保存复杂的 C# 对象?