2

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

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));

提前谢谢!:-)

4

2 回答 2

2

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

于 2009-08-07T12:32:18.740 回答
1

我认为最短的方法可以是:

Doctrine_Query::create()->select()->from('MyTable')->limit(5)->execute();
于 2011-09-23T11:02:14.010 回答