Error loadCacheFile v libs\Nette\Latte\Engine.php

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

Zdravím,
v Nette 2.2.2 oproti dosavad používané verzi 2 mám problém pravděpodobně s novým cachováním.
Chybová hláška „Trying to get property of non-object“ při vyčítání z nové latte cache.
Vypl jsem latte cache a dostal jsem se k blíže specifické hlášce:

Trying to get property of non-object ..\libs\Nette\Latte\Engine.php(154) : eval()'d code:82

Co jsem se dopídil tak celkově použití funkce eval() je opravdu evil. Budiš je funkce použita, rád bych se zeptal, jak tuto chybu obejít. Po všech úpravách na nové Nette bych se nerad vracel k tomu starému jen kvůli této maličkosti, možná jsem přehlédl nějaké nové nastavení? Snažil jsem se postupovat dle dostupných materiálů.

Chyba jinak vzniká při pokusu vyčíst FOREGIN KEY hodnotu z DB v šabloně, například

$eventdetail->tag->label

Pokud mám zapnuté cachování latte upřesnění chyby je následující:

<?php echo Latte\Runtime\Filters::escapeHtml($eventdetail->tag->label, ENT_NOQUOTES) ?>

Takto mi zlobí dva různé projekty psané v nette, někdy to blbne jen na lokálu, někdy jen na VPS. Smažu dočasný temp a do prvního refreshe se vše načte, při druhém znovu načtení je už chyba.

Děkuji za jakékoli nasměrování k zdárnému cíli.

David Grudl
Nette Core | 8201
+
0
-

Tohle nemá zcela jistě nic společného s Latte ani jeho kešováním, ale Nette Database.

hranicka
Člen | 23
+
0
-

Nejspíš to bude stejný problém jako zde: https://forum.nette.org/…f-non-object

Editoval hranicka (3. 7. 2014 7:39)