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

时间:2017-02-14 06:07:09

标签: php mysql zend-framework2 zend-db

您好我是Zend Framework的新手。在普通的PHP我知道如何编写查询。但在Zend Framework中,这是完全不同的。

我用左连接编写了查询,但它工作正常但事情是我想得到连接表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')
        ); 
    }
);

在运行这个我收到的时候,请你澄清一下如何计算。

1 个答案:

答案 0 :(得分:0)

这是我得到的正确查询。

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