Неустранимая ошибка при использовании toArray() в Zend Framework
Мне нужна помощь для устранения фатальной ошибки 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();
}
Как я могу решить это?
1 ответ
Решение
Ваш 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);