2010-03-31 127 views
0

我已經從Zend_DB_Table_AbstractZend的DB返回NULL值

延伸
$select = $this->select() 
      ->from('expense_details', 
      array('SUM(expense_details_amount) AS total')) 
     ->where('YEAR(expense_details_date) = ?', '2010') 
      ->where('MONTH(expense_details_date) = ?', '01') 
      ->where('expense_details_linkemail = ?', '[email protected]'); 

然而,儘管它的「等價物」返回NULL值返回所需的值

SELECT SUM(expense_details_amount) AS total FROM expense_details 
WHERE 
YEAR(expense_details_date) = '2010'      
AND MONTH(expense_details_date) = '01' 
AND expense_details_linkemail = '[email protected]' 

下面的查詢是我的Zend_Db_Table類結構以上正確?

回答

0

可能是一個問題的一件事是該字符串文字中的'AS'語句。

array('SUM(expense_details_amount) AS total')) 

嘗試將其更改爲這樣:

array('total' => 'SUM(expense_details_amount)')) 

我相信這是Zend_Db_Select對象如何處理AS。

0

在努力尋找解決方案後,我發現問題出在哪裏。

我改變

$value = $this->fetchAll($select); 
$data[] = $value->total; 

$value = $this->fetchRow($select); 
$data[] = $value->total;