Я думал, что есть способ получить представление PDOStatement
.Позвольте мне вернуться к вам об этом.
А вот и быстрое решение.Но это будет работать только с данными из реальной модели (данные отношений будут массивами объекта).
$objs = array();
foreach ($q->fetchArray() as $arr) {
$objs = (object)$arr;
}
- Правка -
Не удалось найти его,Но вы можете просто расширить класс Doctrine_Query
.
class App_Doctrine_Query extends Doctrine_Query
{
public function fetchObjects(array $params = array())
{
return array_map(array($this, 'convertArrayToObject'), $this->fetchArray($params));
}
private function convertArrayToObject(array $arr)
{
$obj = new stdClass();
foreach ($arr as $key => $val) {
if (is_array($val)) {
$val = $this->convertArrayToObject($val);
}
$obj->$key = $val;
}
return $obj;
}
}
И в своем загрузчике вы добавите что-то вроде этого:
$manager = Doctrine_Manager::getInstance();
$manager->setAttribute(Doctrine_Core::ATTR_QUERY_CLASS, 'App_Doctrine_Query');