CakePHP 2.5 rawQuery, как зациклить результаты?
Использование CakePHP 2.5 rawQuery
Какой лучший способ перебрать результаты?
Я использую нативный PHP oci_execute
затем oci_fetch_array
,
Есть ли способ CakePHP, который может сделать то же самое?
$results = $db->rawQuery($data_sql);
$search_results = oci_execute($results);
while ( ( $row = oci_fetch_array($search_results, OCI_BOTH ) ) != false)
{
1 ответ
Решение
Метод DboSource::rawQuery()
возвращает PDOStatement
объект, если запрос был успешным.
Вы можете использовать стандартные методы, предоставляемые PHP, чтобы справиться с PDOStatement
объекты.
Это должно работать:
$results = $db->rawQuery($data_sql);
foreach ($results as $row){
//code inside loop
}
Для получения дополнительной информации см.:
-
PDOStatement
учебный класс DboSource::_execute()