在我的模式中,用戶與他們的問題有關。在Symfony中自動獲取查詢而不是結果集
我想顯示用戶提出的所有問題。
我也希望這個頁面使用sfDoctrinePager
進行分頁,這需要Doctrine_Query
作爲參數。
我知道我可以打電話$my_user->getQuestions()
從my_user得到所有問題,但有沒有辦法讓查詢得到所有這些問題?例如,像$my_user->getQuestionsQuery()
那樣。
還是我必須自己實現它?
在我的模式中,用戶與他們的問題有關。在Symfony中自動獲取查詢而不是結果集
我想顯示用戶提出的所有問題。
我也希望這個頁面使用sfDoctrinePager
進行分頁,這需要Doctrine_Query
作爲參數。
我知道我可以打電話$my_user->getQuestions()
從my_user得到所有問題,但有沒有辦法讓查詢得到所有這些問題?例如,像$my_user->getQuestionsQuery()
那樣。
還是我必須自己實現它?
看來你必須手動創建一個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();
恭喜!您已準備好使用專業查詢。這些只是Doctrine_Query
的後代,但帶有您自己的捷徑方法。有Nicolas Perriault寫的文章0123',它更詳細地描述了這種技術。