2010-02-03 31 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',它更详细地描述了这种技术。

相关问题