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

 Смежные вопросы

  • Нет связанных вопросов^_^