在我的模式中,用户与他们的问题有关。在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',它更详细地描述了这种技术。