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

时间:2009-06-25 21:20:20

标签: php doctrine dql named-query

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

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 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

我认为最短路可以是:

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