在我的架构中,用户与他们的问题相关。
我想显示用户提出的所有问题。
sfDoctrinePager
我还希望使用需要 aDoctrine_Query
作为参数对这个页面进行分页。
我知道我可以打电话$my_user->getQuestions()
询问 my_user 的所有问题,但是有没有办法让查询来代替所有这些问题?例如,类似的东西$my_user->getQuestionsQuery()
。
还是我必须自己实施?
在我的架构中,用户与他们的问题相关。
我想显示用户提出的所有问题。
sfDoctrinePager
我还希望使用需要 aDoctrine_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 写的一篇名为“Optimize your Doctrine Workflow with Specialized Queries”的文章更详细地描述了这种技术。