我認爲有一種方式來獲得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');
這不是給相同的結果陣列。只想返回字段。 – MAB
你是什麼意思'只想返回領域? – xdazz
希望得到與execute(array(),Doctrine :: HYDRATE_ARRAY)相同的結果; 像: 陣列 ( [0] =>數組 ( [ID] => 1 [標題] =>標題 [title_safe] =>頭 [描述] => Sayfa UST BARI ) 但我不想得到結果像數組我想要得到的結果像對象 – MAB