Chybný výsledek count() při druhém použítí v šabloně

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

Zdravím

Narazil jsem na zajímavou chybu při použití Nette\Database\Table\Selection a šablony.

V šabloně mám kod: {$akce->related('akce_mem')->where('users_id',$user->id))->count()} který by měl vracet 0 nebo 1 podle toho, zda daný člověk na akci byl nebo ne. Při prvním použití tj. pokud tuto část provedu v rámci průchodu cyklu pouze jednou, dostanu očekávaný výsledek.

Pokud ale o kus dál v rámci stejného průchodu cyklem použiji ten samý kod, dostanu vždy odpověď 0.

PHP Version 5.3.6, Nette Framework 2.0-beta (revision 6889b94 released on 2011–08–04)

studna
Člen | 181
+
0
-

Podívej se na SQL dotaz, tipuju, že to bude něco jako WHERE ... & ... & ... & ....

Editoval studna (13. 8. 2011 17:02)

uestla
Backer | 799
+
0
-

Řešením je neuchovávat výsledek vrácený $connection->table('..') v proměnné, ale pro každý dotaz volat právě $connection->table('..').