2009-06-25 2 views
1

Я смотрел Zend_Paginator в проекте Zend Framework с использованием MVC, и он выглядит как инструмент intersting.Как вы обрабатываете Zend_Paginator?

Похоже, что мы можем предоставить объект выбора в качестве аргумента для фабрики, это интересно, потому что это означает, что я должен вернуть объект выбора из моей модели, это хороший способ сделать?

Это кажется немного тяжелым, чтобы сделать это, так как он не будет нужен все времена ...

Я также могу дать массив, который может прийти в результате моей модели метода, но в случае, когда у меня много данных, может быть сложно получить все данные из моей базы данных каждый раз.

Как я могу справиться с этим?

ответ

0

Ну, наконец, я нашел интересный способ сделать.

Во-первых, я применил шаблон модели домена после чтения на Matthew Weier O'Phinney's blog, который объясняет, как это сделать.

Затем я создал свой own adapter of Zend_Paginator, чтобы согласиться с моей моделью.

Это самый интересный способ, который я нашел до сих пор.

2

Из дока: http://framework.zend.com/manual/en/zend.paginator.usage.html

Однако, можно сразу поставить счетчик или считать запрос самостоятельно. Дополнительную информацию см. В методе setRowCount() в адаптере DbSelect.

И

В случае Null адаптера, вместо коллекции данных вы должны предоставить подсчитывать элемент в конструктор.

Я бы предложил сделать счет самостоятельно, а затем вручную установить его. То есть, основываясь на чтении, которое я только что сделал. Кроме того, в документе указывается, что если вы перейдете по маршруту NULL, вы можете вместо этого указать элемент-счетчик (целое число) в конструктор Paginator - это кажется немного более разумным, чем запрос числа с каждым запросом.