Доктрина Именованных Запросов:Определение ограничения на вызов запроса
-
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();
Не связан с StackOverflow