2013-11-12 3 views

ответ

0

$result имеет оператор выбора запроса не результат вам нужно получить результат. попробуйте следующие строки:

$result = $db->select()->from("raw_data", array(new Zend_Db_Expr("MAX(id) AS locationname"))); 
$row = $this->fetchRow($result); 
return $row->toArray(); 

Я использую следующую функцию, чтобы получить максимальный идентификатор в maxItemNumber

function getLatestId(){ 
    $select = $this->select() 
     ->from('raw_data', array(new Zend_Db_Expr("MAX(id) AS maxItemNumber"))); 

    $row = $this->fetchRow($select); 
    if(!$row){ 
     return 0; 
    } 

    $row = $rows->toArray(); 
    return $row['maxItemNumber']; 
} 

Если вы хотите сразу получить lastInsertedID после вставки используйте возврат со вставкой

return $this->insert($data); 
+0

Не работает. Я получаю страницу с ошибкой. – LosAngeles

+0

Вы используете класс DbTable, расширяющий Zend_Db_Table_Abstract? –

+0

Да. Мой класс: 'class Application_Model_Mysqldata extends Zend_Db_Table_Abstract { public function getLatestId() { $ db = Zend_Db_Table :: getDefaultAdapter(); $ db-> getConnection(); $ result = $ db-> select() -> from ("data_raw", array (новый Zend_Db_Expr ("MAX (id) AS Locationname"))); } } ' – LosAngeles

0

Это потому, что вы строите и возвращаете следующий запрос ... но не выполняете этот запрос. Хариш Сингх показать этот рассказ.

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