0

toArray()zendフレームワークの致命的なエラーを削除するためのヘルプが必要です。

致命的なエラー:非オブジェクトのメンバー関数toArray()を呼び出す

コントローラで次のコードを使用しています

$obj     = new Admin_Model_UserMapper();
$where   = array('id = ?'=>$decryptId);
$data    = $obj->fetchAll($where);
//  $currentData = $data->current();
$dataArr = $data->toArray();


$form = new Admin_Form_UserForm();
$form->setAction('edit-user');
$form->populate($dataArr);

toArray()またはを使用すると、両方の状態で致命的なエラーが発生しますcurrent()

私はすでに次のコードを使用しましたが、解決策が得られず、同じエラーが発生します:

$db = Zend_Db_Table::getDefaultAdapter();
$select = $db->select()->from('user')->where('id= ?',$decryptId);
$stmt = $select->query();
$result = $stmt->fetchAll();
if(count($result) > 0){
    $dataArr = $result->toArray();
} 

どうすればこれを解決できますか?

4

1 に答える 1

5

あなたfetchAllはデータを返しません。巻いた状態で・・・

$where = array('id = ?'=>$decryptId);
$data  = $obj->fetchAll($where);
if ($data->count()){
    //  $currentData = $data->current();
    $dataArr = $data->toArray();
}else{
    // no records found!
}

問題はあなた$whereにあります。キー/値配列のように使用することはできません。以下のコードを使用します。

$where = $this->getAdapter()->quoteInto('id = ?', $decriptId);
于 2012-12-23T05:40:35.093 に答える