2010-02-03 57 views
2

在我的模式中,用戶與他們的問題有關。在Symfony中自動獲取查詢而不是結果集

我想顯示用戶提出的所有問題。

我也希望這個頁面使用sfDoctrinePager進行分頁,這需要Doctrine_Query作爲參數。

我知道我可以打電話$my_user->getQuestions()從my_user得到所有問題,但有沒有辦法讓查詢得到所有這些問題?例如,像$my_user->getQuestionsQuery()那樣。

還是我必須自己實現它?

回答

4

看來你必須手動創建一個Doctrine_Query對象:

$query = new Doctrine::getTable('Question')->createQuery('q') 
    ->where('q.uid = ?', $my_user->getId()); 

然後將它傳遞給傳呼機:

$this->pager = new sfDoctrinePager('Question', $max_per_page); 
$this->pager->setQuery($query); 
$this->pager->setPage($cur_page); 
$this->pager->init(); 
0

恭喜!您已準備好使用專業查詢。這些只是Doctrine_Query的後代,但帶有您自己的捷徑方法。有Nicolas Perriault寫的文章0123',它更詳細地描述了這種技術。

相關問題