2012-04-01 2 views
2

나는, include 문을 선택 Zend_Db 기존의 주위에 COUNT (*) 쿼리를 포장하기 위해 노력하고있어하지만 난 얻을 수 있었다 모두가에서 COUNT (*) 그러나 저는 카운트 (*) 만 필요하기 때문에 t. *를 제거하고 싶습니다.은 전적으로 Zend_DB SELECT 문 (하위 쿼리)

이 내 코드는 지금까지 있습니다 :

$db = Zend_Registry::get('db'); 
$select = $dbmodel->getSomething(); //zend select object 
$outterSelect = new Zend_Db_Select($db); 
$outterSelect->from($select)->columns(array('TotalRecords' => new Zend_Db_Expr('COUNT(*)'))); 
echo $outterSelect->__toString(); 

어떤 도움에 감사드립니다!

답변

5

당신은 간단하게 작성할 수 있습니다

$outterSelect->from($select, 'COUNT(*) as TotalRecords'); 
+0

은 또한 단지 선택 $ 사용하여 결과를 얻을 수있을 것이다. 그것은 $ db없이 의미합니까? – dforce

+0

당신의 mobel이 Zend_Db_Table을 확장한다면, 당신은 $ model-> select() -> from-> (...) –

+0

같은 것을 할 수 있습니다. $ res = $ doc-> select() -> from ($ 'COUNT (*)를 행 수'로 선택) -> fetchAll() -> toArray();가 작동하지 않습니다. 이 경우 fetchAll()은 알 수 없습니다. – dforce