2012-04-01 159 views
2

我試圖環繞現有Zend_Db的SELECT語句中的COUNT(*)查詢,但所有我能得到的是COUNT(*)但是我喜歡擺脫t。*,因爲我只需要count(*)。單從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 2012-04-01 20:34:13

+0

如果你的mobel是擴展Zend_Db_Table,你可以做一些像$ model-> select() - > from - >(...) – 2012-04-01 22:43:01

+0

類似這樣的'$ res = $ doc-> select() - > from($選擇'COUNT(*)as rowcount') - > fetchAll() - > toArray();'不適用於我。 fetchAll()在這種情況下是未知的。 – dforce 2012-04-02 14:20:57