Codeigniter 活动记录查询的工作方式与自定义查询不同

Posted

技术标签:

【中文标题】Codeigniter 活动记录查询的工作方式与自定义查询不同【英文标题】:Codeigniter active record query works differently from custom query 【发布时间】:2016-12-13 08:58:20 【问题描述】:

代码点火器活动记录查询:

$this->blog_db->select('a.tytul, a.data_dodania, b.post_id, COUNT(b.post_id) as liczba')
                       ->from('posts a')
                       ->join('komentarze b', 'a.id=b.post_id')
                       ->group_by('b.post_id')
                       ->order_by('liczba', 'desc')
                       ->limit(5)
                       ->get('posts');

它给了我计数查询乘以帖子数的结果,但它应该像这样工作: custom mysql query 在 codeigniter 中使用与自定义查询相同的查询就像一个魅力

$this->blog_db->query('SELECT a.tytul, b.post_id, a.data_dodania, COUNT(b.post_id) as liczba
                                    FROM posts a
                                    JOIN komentarze b ON a.id=b.post_id
                                    GROUP BY b.post_id
                                    ORDER BY liczba desc
                                    LIMIT 0, 5
                                    ');

我在活动记录查询中做错了什么?

【问题讨论】:

【参考方案1】:

尝试使用->get();,因为您已经包含了->from('posts a')

查询的 FROM 部分可以在 $this->db->get() 函数中指定,因此请使用您喜欢的任何方法。

【讨论】:

以上是关于Codeigniter 活动记录查询的工作方式与自定义查询不同的主要内容,如果未能解决你的问题,请参考以下文章

codeigniter 活动记录,生成,但不执行查询

Codeigniter 活动记录查询

活动记录 CodeIgniter 2 中的这个查询有啥问题?

codeigniter:像子句一样的活动记录不起作用

CodeIgniter 活动记录在子查询中的位置

codeigniter 查询生成器和活动记录 sql 注入