如何在 zend frame work2 中用左连接编写计数查询?

how to write count query with left join in zend frame work2?

大家好,我是 Zend Framework 的新手。在正常情况下 php 我知道如何编写查询。但在 Zend Framework 中,这是完全不同的。

我用左连接编写了查询,它工作正常,但问题是我想计算连接的 table id。我将显示我的控制器代码:

控制器:

$adapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter');
$projectTable = new TableGateway('blog', $adapter);
$rowset = $projectTable->select(
    function(Select $select) {       
        $select->join(
            array('b' => 'blog_answers'),
            "b.question_id = blog.id",
            array('new'=>COUNT('b.question_id'),'left')
        ); 
    }
);

虽然 运行 这是我得到的,你能解释一下如何得到计数吗?

嗨,这是我得到的正确查询。

`
$adapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter');
        $projectTable = new TableGateway('blog', $adapter);
        $rowset = $projectTable->select(function(Select $select) {
       $select->columns(array(
        '*',
        'num' => new Expression('COUNT(blog_answers.question_id)')
    ));
        $select->join('blog_answers', 'blog.id = blog_answers.question_id', array(), 'left');
         $select->group('blog.id');     
            });`