2010-07-29 3 views
0

Ive에 문제가 있습니다. ,Zend_Form :: populate() 오류

Zend_Db_Table_Row Object ([_data:protected] => Array ([id] => 4 [title] => sd [name] => KG [picture] => http://xx/images/mny4r64mqb.png [show] => 1 [body] =>KB 
) [..] 

그래서 내가 알고 : 나는 첫번째 인수의 값을 찾을 인 print_r()를 사용하는 경우, 출력이이었다

Catchable fatal error: Argument 1 passed to Zend_Form::populate() must be an array, object given, called in [..] 

:이 기능을하려고 할 때,이 오류를 반환 입력 한 객체는 배열입니다. 이 문제의 원인은 무엇입니까? 컨트롤러

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

모델 :

$albums = new Admin_Model_Users(); 
        //print_r($albums->getUser($id)); 
        $form->populate ($albums->getUser ($id)); 

답변

1

당신이이 toArray를 (사용하여 배열)에 Zend_Db_Table_Row를 변환 한 후 채우기()에 전달합니다.

Zend_Db_Table_Row

예 :

$bugs = new Bugs(); 
$row = $bugs->fetchRow($bugs->select()->where('bug_id = ?', 1)); 

// Get the column/value associative array from the Row object 
$rowArray = $row->toArray(); 

// Now use it as a normal array 
foreach ($rowArray as $column => $value) { 
    echo "Column: $column\n"; 
    echo "Value: $value\n"; 
+0

감사합니다,하지만 문제가 해결되지 않았다. 여기에는 일종의 결함이 있어야합니다. 이 문제를 해결하려고 노력하십시오. –

+0

질문에 코드를 입력하십시오. – NAVEED

+0

모델 및 컨트롤러 파트가 추가되었습니다. –