代码之家  ›  专栏  ›  技术社区  ›  Guillaume Flandre

在symfony中自动获取查询而不是结果集

  •  2
  • Guillaume Flandre  · 技术社区  · 15 年前

    在我的模式中,用户与他们的问题相关。

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

    我还希望使用 sfDoctrinePager 这需要一个 Doctrine_Query 作为参数。

    我知道我可以打电话 $my_user->getQuestions() 从我的用户那里得到所有问题,但是有没有一种方法可以让查询得到所有这些问题?类似的东西 $my_user->getQuestionsQuery() 例如。

    或者我必须自己实现它?

    2 回复  |  直到 15 年前
        1
  •  4
  •   Darmen Amanbay Cherma Ramalho    15 年前

    似乎你必须创造一个 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();
    
        2
  •  0
  •   Andrei Dziahel vjache    15 年前

    祝贺你!你已经准备好使用了 专用查询 . 他们只是 Doctrine_Query 但有你自己的快捷方式。尼可拉斯·佩里奥特写的一篇文章叫 "Optimize your Doctrine Workflow with Specialized Queries" 更详细地描述了这种技术。