2013-09-23 52 views
1

我有一個非常簡單的查詢拋出「內存不足」:Symfony的1.4上一個非常簡單的查詢

$result = Doctrine_Query::create() 
->select('t.id, t.name, DATE(t.date_start) as date_start, ti.*') 
->from('table t') 
->leftJoin('t.foreigh_table ti') 
->where("(DATE(t.date_start) BETWEEN '$startDate' AND '$endDate')") 
->andWhere('t.user='.$userId) 
->andWhere('t.is_public=1'); 

,並分配這樣的查詢DoctrinePager插件:

$this->data = new sfDoctrinePager(null, 7); 
$this->data->setQuery($result); 
$this->data->setPage($request->getParameter('p', 1)); 
$this->data->init(); 

但是,一個「內存不足」始終拋出:

Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 842260576 bytes) in /home/.../lib/vendor/symfony/lib/debug/sfWebDebug.class.php on line 170 

我不能相信,1GB內存是不夠的,這SI多重查詢。

你們有什麼想法嗎?

更新 終於找出發生了什麼。在View中的print_r()命令已經佔用了所有的內存,只是將其註釋掉了&一切都很好。

+0

看起來不像是一個簡單的查詢,但我同意它不應該用盡內存。你有多少結果回來? – Rob

+0

只有3人正在返回Rob。但是,我已經發現了這裏發生的更新部分。 – RyanB

+0

@RyanB你可以發佈你的更新作爲答案嗎? – j0k

回答

0

終於明白髮生了什麼事。 View中的print_r()命令佔用了所有內存,只是將其註釋掉&一切都很好再