Учение Symfony sfDoctrinePager и LIMIT - PullRequest
0 голосов
/ 11 марта 2012

У меня есть таблица с 500 пользователями.Мне нужно показать последние 100 зарегистрированных пользователей на моей домашней странице, разбитых на страницы.Поэтому я использую Symfony и нумерацию страниц с помощью sfDoctrinePager.

Действие:

    $query = UserTable::getLast100UsersQuery();
    $pager = new sfDoctrinePager('User', 10);
    $pager->setQuery($query);
    $pager->setPage($request->getParameter('page', 1));
    $pager->init();

Модель:

    static public function getLast100UsersQuery() {
    return Doctrine_Core::getTable('User')->limit(100);
    }

Моя проблема в том, что LIMIT (100) в модели игнорируется, нумерация страниц для всех 500 пользователей.Я просто хочу последних 100 пользователей, а не всех.

Заранее спасибо за любую помощь, ребята

1 Ответ

0 голосов
/ 14 марта 2012

Я делаю пейджинг немного по-другому.В моей модели запрос выглядит так:

public function getLast100UsersQuery($page = null)
     {
        $q = Doctrine_Query::create()
        ->from("User")
        ->limit(100);

       $pager = new sfDoctrinePager('User', 10);
       $pager->setQuery($q);
       $pager->setPage($page, 1);
       $pager->init();

       return $pager;
      }

в действии, я получаю запрос:

$pager = $this->pager = Doctrine_Core::getTable('user')->getLast100UsersQuery( $request->getParameter('page'));

все тиме, которые я делаю таким образом, и не имеют проблем:)

...