В приложении Zend я использую Zend\Db\TableGateway
и Zend\Db\Sql
для извлечения данных из базы данных MySQL, как показано ниже.
Модель -
public function getCandidateEduQualifications($id)
{
$id = (int) $id;
$rowset = $this->tableGateway->select(function (Sql\Select $select) use ($id)
{
$select->where
->AND->NEST->equalTo('candidate_id', $id)
->AND->equalTo('qualification_category', 'Educational');
});
return $rowset;
}
Вид -
Я просто перебираю $rowset и echo. Но он дает ошибку при попытке повторить два или более раз. Работает одиночная итерация.
Этот результат является прямым результирующим набором, вызывая rewind() после движение вперед не поддерживается
Я могу решить его, загрузив его в другой массив. Но это лучший способ? Есть ли другой способ справиться с этим?
$records = array();
foreach ($edu_qualifications as $result) {
$records[] = $result;
}
EDIT -
$resultSet->buffer();
решил проблему.