在我的架构中,用户与他们的问题相关。
我想显示用户提出的所有问题。
我还希望使用sfDoctrinePager
对此页面进行分页,这需要Doctrine_Query
作为参数。
我知道我可以致电$my_user->getQuestions()
来获取my_user的所有问题,但是有没有办法让查询获得所有这些问题呢?例如$my_user->getQuestionsQuery()
之类的东西。
或者我必须自己实施吗?
答案 0 :(得分: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();
答案 1 :(得分:0)
恭喜!您已准备好使用专业查询。这些只是Doctrine_Query
的后代,但有自己的快捷方法。 Nicolas Perriault撰写了一篇名为"Optimize your Doctrine Workflow with Specialized Queries"的文章,其中更详细地描述了这种技术。