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


Codeigniter active record query works differently from custom query

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

$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');

它给了我计数查询乘以帖子数量的结果,但它应该这样工作:自定义mysql查询在codeigniter中使用与自定义查询相同的查询,其工作原理类似于charm

$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
                                    ');

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

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

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