Oznámení
Sjednocení pořadí parametrů fetchAll a applyLimit
před 9 lety
- Bernard Williams
- Člen | 207
Nazdárek,
docela by mě zajímalo, proč mají metody fetchAll u query a applyLimit u dataSource prohozené pořadí parametrů? Mě se to zdá hodně matoucí nebo je to záměr?
Bernard
před 9 lety
- David Grudl
- Nette Core | 6806
Kterou verzi preferovat?
před 9 lety
- phx
- Člen | 652
Jsem pro limit offset.
před 9 lety
- Milo
- Nette Core | 1119
Častěji asi pouze limituji takže LIMIT
OFFSET
před 9 lety
- Bernard Williams
- Člen | 207
Limit, Offset bude asi nejlepší.
před 9 lety
- westrem
- Člen | 398
LIMIT, OFFSET
před 9 lety
- David Grudl
- Nette Core | 6806
A používá vůbec někdo limit a offset u fetchAll()?
před 9 lety
- Bernard Williams
- Člen | 207
Já u Paginatoru ano.
před 9 lety
- David Grudl
- Nette Core | 6806
Jenže u paginatoru by mělo být omezení už v SQL dotazu.
před 9 lety
- Bernard Williams
- Člen | 207
Já používám konstrukci z doplňku:
...
$paginator = $vp->getPaginator();
$paginator->itemsPerPage = 15;
$paginator->itemCount = count($items);
...
//příklad jak omezit třeba výběr řádků ze SQL pro danou stránku (s dibi)
$result = dibi::query('SELECT ... ORDER BY ...');
$rows = $result->fetchAll( $paginator->offset, $paginator->itemsPerPage );
Do SQL dotazu by to šlo taky přímo hodit, ale musel bych si udělat druhý SQL dotaz na získání celkového počtu záznamů.
před 9 lety
- David Grudl
- Nette Core | 6806
No to je úplně blbě. Příklad jsem upravil.
Pro zjištění celkové počtu záznamů lze použít COUNT(*) nebo SQL_CALC_FOUND_ROWS v MySQL.