2017-02-14 21 views
0

嗨,我是Zend Framework的新手。在正常的PHP我知道如何編寫查詢。但在Zend框架中,這是完全不同的。如何用zend框架work2中的左連接來編寫計數查詢?

我寫了左連接的查詢,它工作正常,但事情是我想獲得連接表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

檢查[此答案](http://stackoverflow.com/a/13585205/1697459) – Wilt

回答

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