Další chybka v Nette\Database

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

Ahoj, metoda related mi v určitém případě vracela nulový počet řádků. Stejný kód jsem používal už v jiné aplikaci, kde fungoval v pořádku. Zjistil jsem, že to způsobil tento commit.

Konkrétně mám v šabloně tento kód (chyba popsána v komentáři):

	<article n:foreach="$cdb->table('region') as $region" class="region region{$region->id}">
		<h3>{$region->name}</h3>
		{capture $text}
			{foreach $region->related('city') as $city}
				{* Chyba způsobila, že tento dump vracel 0 vždy kromě první iterace cyklu *}
				{dump $city->related('office')->count()}
				{if $city->related('office')->count() > 0}
					<h4>{$city->name}</h4>
					{foreach $city->related('office')->where('id <> ?', 1) as $office}
						<section class="office">
							{!$office->address}
							<p><b>vedoucí kanceláře</b>: {$office->manager}</p>
							<p n:if="$office->phone"><b>tel.</b>: {$office->phone}</p>
							<p n:if="$office->mobile"><b>mobil</b>: {$office->mobile}</p>
							<p n:if="$office->fax"><b>fax</b>: {$office->fax}</p>
							<p n:if="$office->email"><b>e-mail</b>: <a href="mailto:{$office->email}">{$office->email}</a></p>
						</section>
					{/foreach}
				{/if}
			{/foreach}
		{/capture}
		{!$text}
		<p n:if="!$text">Kancelář ve vašem kraji připravujeme, využijte jiného kontaktního místa.</p>
	</article>

Po revertu zmíněného commitu vše opět funguje.

Editoval jtousek (7. 7. 2012 11:52)

hrach
Člen | 1834
+
0
-

Klasicka otazka, co to dela na teto vetvi? Melo by to vsecko krasne fungovat.
https://github.com/…-refactoring

jtousek
Člen | 951
+
0
-

Jistě, tuhle otázku jsem očekával. Bohužel kvůli mým úpravám Nette bude trochu složitější ji tam nasadit. Teď jedu na 4 dny pryč, zkusím to až se vrátím.

jtousek
Člen | 951
+
0
-

Otestováno, stejná chyba je i v té testovací větvi.

jtousek
Člen | 951
+
0
-

Omlouvám se a beru zpět. Na té testovací větvi to funguje, zapomněl jsem předtím smazat cache. Doufám, že to brzy bude i ve stable. :-)

hrach
Člen | 1834
+
0
-

Uz jsem si rikal… :D