latte related přes dvě tabulky
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- sejmor
- Člen | 63
Zdravím … jeden rychlej dotaz:
Mám v DB tabulky v kaskádě za sebou. V šabloně v cyklu foreach potřebuju sčítat sumy dat uživatelů.
Asi nějak takto
{foreach $uzivatele as $uzivatel}
{$uzivatel->jmeno} -
Počet kontaktů: {$uzivatel->related('kontakty')->count()}
počet záznamů: {$uzivatel->related('kontakty')->related('zaznamy')->count()}
<br>
{/foreach}
To 2 krát related mi hodí chybu (Call to undefined method). Jde nějak v šabloně vyřešit dvakrát related ? … Prostě potřebuju počet všech záznamů všech kontaktů daného uživatele. Zkoušel jsem i $uzivatel->related(‚kontakty:zaznamy‘)->count() ale to také nejde. Můžu to vyřešit v presenteru že celej dataset z DB hodím do pole a přídám do něj co potřebuju, ale zajímalo by mě jestli to jde řešit v šabloně když už jsem na to narazil.
Díky za osvětlení.
- Mysteria
- Člen | 797
Related vrací kolekci, takže na ní musíš použít foreach, z hlavy třeba takhle:
{foreach $uzivatele as $uzivatel}
{$uzivatel->jmeno} -
Počet kontaktů: {$uzivatel->related('kontakty')->count()}
{var $count = 0}
{foreach $uzivatel->related('kontakty') as $kontakt}
{php $count += $kontakt->related('zaznamy')->count()}
{/foreach}
Počet záznamů: {$count}
<br>
{/foreach}