2010-03-31 126 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;