2

在我的架构中,用户与他们的问题相关。

我想显示用户提出的所有问题。

sfDoctrinePager我还希望使用需要 aDoctrine_Query作为参数对这个页面进行分页。

我知道我可以打电话$my_user->getQuestions()询问 my_user 的所有问题,但是有没有办法让查询来代替所有这些问题?例如,类似的东西$my_user->getQuestionsQuery()

还是我必须自己实施?

4

2 回答 2

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();
于 2010-02-03T17:12:30.963 回答
0

恭喜!您已经准备好使用专门的查询。这些只是Doctrine_Query您自己的快捷方法的后代。Nicolas Perriault 写的一篇名为“Optimize your Doctrine Workflow with Specialized Queries”的文章更详细地描述了这种技术。

于 2010-02-03T23:16:33.487 回答