Доктрина Именованных Запросов:Определение ограничения на вызов запроса

StackOverflow https://stackoverflow.com/questions/1046321

  •  20-08-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

Другие советы

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

Doctrine_Query::create()->select()->from('MyTable')->limit(5)->execute();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top