您好我是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')
);
}
);
在运行这个我收到的时候,请你澄清一下如何计算。
答案 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');
});`