2013-12-20 2 views
1

Я пытаюсь извлечь строку из базы данных, но когда она возвращает что-то вроде этого ниже, а не правильный массив.fetchRow не возвращает правильный массив

Zend_Db_Table_Row Object 
(
    [_data:protected] => Array 
    (
     [Id] => 1 
     [firstname] => Tuhin 
     [lastname] => Biswas 
     [email] => [email protected] 
    ) 

[_cleanData:protected] => Array 
    (
     [Id] => 1 
     [firstname] => Tuhin 
     [lastname] => Biswas 
     [email] => [email protected] 
    ) 

[_modifiedFields:protected] => Array 
    (
    ) 

[_table:protected] => Application_Model_DbTable_Client Object 
    (
     [_name:protected] => client 
     [_definition:protected] => 
     [_definitionConfigName:protected] => 
     [_db:protected] => Zend_Db_Adapter_Pdo_Mysql Object 
      (
       [_pdoType:protected] => mysql 
       [_numericDataTypes:protected] => Array 
        (
         [0] => 0 
         [1] => 1 
         [2] => 2 
         [INT] => 0 
         [INTEGER] => 0 
         [MEDIUMINT] => 0 
         [SMALLINT] => 0 
         [TINYINT] => 0 
         [BIGINT] => 1 
         [SERIAL] => 1 
         [DEC] => 2 
         [DECIMAL] => 2 
         [DOUBLE] => 2 
         [DOUBLE PRECISION] => 2 
         [FIXED] => 2 
         [FLOAT] => 2 
        ) 

ответ

2

это обыкновение возвращать массив автоматически, , если вы хотите, то вы можете использовать следующие в модель

public function getRow($id) 
    { 
     $id = (int)$id; 
     $row = $this->fetchRow('id = ' . $id); 
     if (!$row) { 
      throw new Exception("Could not find row $id"); 
     } 
     return $row->toArray(); 
    } 

или непосредственно от контроллера

по телефону ToArray() после FetchRow,

как $result=$model->fetchRow($where)->toArray();

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