Doctrine Named Queries: Указание ограничения на вызов запроса - PullRequest
2 голосов
/ 26 июня 2009

Давайте представим что-то вроде этого:

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

Спасибо заранее! : -)

Ответы [ 2 ]

2 голосов
/ 07 августа 2009

Ничто не мешает вам написать собственный метод или функцию, которая клонирует именованный неограниченный запрос, устанавливает ограничение на клон и затем возвращает результаты.

1 голос
/ 23 сентября 2011

Я думаю самый короткий путь может быть:

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