代码之家  ›  专栏  ›  技术社区  ›  Philippe Gerber

命名查询原则:指定查询调用的限制

  •  2
  • Philippe Gerber  · 技术社区  · 15 年前

    让我们想象一下这样的情况:

    class MyTable extends Doctrine_Table
    {
        public function construct()
        {
            $q = Doctrine_Query::create()->from('MyTable t')
                                         ->orderBy('t.creationDate DESC')
                                         ->limit(5);
            $this->addNamedQuery('top5', $q);
        }
    }
    

    稍后我可以这样做:

    $top5 = Doctrine::getTable('MyTable')->find('top5');
    

    在使用命名查询时,是否有任何方法可以设置限制,而不是在定义它时设置限制?我真的很想做如下的事情:

    $top5 = Doctrine::getTable('MyTable')->find('topX', 5);
    

    $top5 = Doctrine::getTable('MyTable')->find('topX', array('limit' => 5));
    

    THX提前!-)

    2 回复  |  直到 13 年前
        1
  •  2
  •   Nowhere man    15 年前

    没有什么可以阻止您编写自己的方法或函数来克隆命名的无限查询,对克隆设置限制,然后返回结果。

        2
  •  1
  •   JMax Dan    13 年前

    我认为最短的方法是:

    Doctrine_Query::create()->select()->from('MyTable')->limit(5)->execute();