Chyba? Iterator uvnitř cyklu while

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
polonium
Člen | 22
+
0
-

Ahojte,

mám Nette v2.0beta-PHP5.3 a protože si nejsem jistej, jestli se jedná o chybku moji nebo nette tak se radši zeptám :)

Ten to template mi nefunguje, přitom pokud while předělám na foreach tak to funguje v pohodě. A Zde se píše, že by ten iterator měl fungovat pro while, foreach i for

<table n:inner-while="$product = $products->fetch()">
	{first}
		<tr>
			<td>Slovo</td>
		</tr>
	{/first}
		<tr>
			<td>{dump($product)}</td>
		</tr>
</table>

Editoval polonium (1. 7. 2011 13:56)

22
Člen | 1478
+
0
-

zkus si někde vypsat {$iterator->getCounter()}, co se tam děje..

polonium
Člen | 22
+
0
-

Mno me to hlasi ze $iterator neni vubec definovanej.

22
Člen | 1478
+
0
-

to vypadá jako chyba Nette.

smasty
Člen | 90
+
0
-

Iterátor sa inicializuje len pre foreach cykly, viď. API

22
Člen | 1478
+
0
-

Dokumentace zase předběhla dobu.. :-)

polonium
Člen | 22
+
0
-

Super, že dokumentace předbíhá dobu :( Ale mě by se docela ten iterator uvnitř while hodil. Doufám, že s ním můžu počítat do budoucna :) Přece jen procházet data z db přes foreach je naprd…

Filip Procházka
Moderator | 4668
+
0
-

Pokud bys požíval dibi (a asi to umí i Nette\Database), tak je to jedno ;)

foreach (dibi::query('select * from users') as $user) {
	echo $user->username;
}

Takže dovol, abych tě opravil. Není to na prd, tvůj přístup ano :)

Editoval HosipLan (8. 7. 2011 7:53)