Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] dowolna tablica w paginatorze.
istrd
post 6.04.2012, 12:15:02
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 3.12.2009

Ostrzeżenie: (0%)
-----


Witam,
Czy mogę jako adapter paginatora użyć dowolnej tablicy. Tablica jest połączeniem rekordów z dwóch tabel. W manualu jest tak:
  1. $adapter = new Zend_Paginator_Adapter_DbSelect($db->select()->from('posts'));
  2. $adapter->setRowCount(
  3. $db->select()
  4. ->from(
  5. 'item_counts',
  6. Zend_Paginator_Adapter_DbSelect::ROW_COUNT_COLUMN => 'post_count'
  7. )
  8. )
  9. );
  10.  
  11. $paginator = new Zend_Paginator($adapter);


Ale nie chce Adaptera DbSecect. Da się jakoś rozwiązać ten problem?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Pilsener
post 6.04.2012, 13:09:36
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


No pewnie. Użyć adaptera Zend_Paginator_Adapter_Array.
Go to the top of the page
+Quote Post
piotr.pasich
post 23.04.2012, 19:18:03
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 4
Dołączył: 27.01.2012
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Tylko z Arrayem jest problem wydajnościowy - najpierw pobiera całość danych i dopiero później paginuje. DB - wysyła dwa zapytania do bazy - jedno pobiera łączną ilość rekordów, a drugie zapytanie z offset i limit.

Array jest dość niebezpieczny przy bardzo dużych porcjach danych - np. tabelki po kilka milionów rekordów mogą spowodować przekroczenie limitu pamięci.


--------------------
Zapraszam do głosowania na agendę PHPCon Poland 2013 http://www.phpcon.pl/2013/pl/agenda.

---
Piotr Pasich
piotr.pasich@xsolve.pl
www.xsolve.pl
Go to the top of the page
+Quote Post
Pilsener
post 25.04.2012, 08:43:54
Post #4





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Zgadza się, ale jeśli Istrd ma już tą tablicę zrzuconą z bazy i chce ją tylko paginować to pewnie zdaje sobie z tego sprawę wink.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:38