Latte – práca s Database\Selection – if empty
- Lkopo
- Člen | 65
Zdravím,
je v Latte nejaká predpripravená funkcia (v dokumentácii som nenašiel,
teda okrem tohto: https://forum.nette.org/…latte-subore,
ale empty na object mi false nevyhodí) na kontrolu, či je
Database\Selection
prázdny alebo mi zostáva len využívať
funkciu count()
(viď príklad)?
{if count($records) > 0}
...
{/if}
Respektíve, existuje „vhodnejšia/správnejšia“ metóda? Vďaka :).
- johnnie
- Člen | 54
count na selection urcite nepouzivaj, je daleko výhodnejsie použit ->count(‚*‘), ktory posle do databaze agregacni dotaz
SELECT COUNT(*) FROM records
ja v latte overujem nasledovne
<?php
{if $records->count('*') == 0}
// 2 cesta
{if !$records->count('*')}
// pokial mame 1 a viac zaznamov
{if $records->count('*') > 0}
?>
Editoval johnnie (2. 3. 2017 16:13)
- Lkopo
- Člen | 65
Ten agregačný dotaz sa do databázy pošle len v prípade ak nastavím
stĺpec ako parameter v metóde count($column)
(podľa API).
Vďaka za radu, pôjdem touto cestou :).
A áno, podľa API je to viacmenej to isté, ale správnejšie mi príde použiť metódu count ako defaultnú PHP funkciu.
Editoval Lkopo (2. 3. 2017 16:03)