„Undefined offset“ při dotazu z databáze po vymazání cache

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

Zdravím, vím, že to tu bylo řešeno několikrát. Buď je můj problém novej nebo jsem přehlídnul řešení.
Nette 2.1.1 a PHP 5.4

Jde o to, že když smažu cache tak to hodí undefined offset {číslo}. Pokud se podívám do laděnky, co mu vadí, tak je to třeba {$post->user->first_name} (zajímavé je, že to je pokaždé něco jinýho co mu vadí). To smažu, refreshnu a funguje to, potom můžu zase zpátky přidat ten first_name a už to funguje stále do dalšího smazání chace. Zdá se mi, že to předá místo id usera id toho postu.
tady je kod a laděnka:

<tr n:foreach="$categories as $category">
	<td>{$category->name}</td>
	{var $posts = $category->related('posts')}
	{if $posts->count()}
	<td n:foreach="$posts->order('date_time DESC')->limit(1) as $post">
		{var $id = is_null($post->thread_id) ? $post->id : $post->thread_id}
		{var $page = (int) ceil($category->related('posts')->where('thread_id = ? || id = ?', $id, $id)->count() / $limit)}
		<a href="{link Posts:detail 'id' => $id, 'category' => $category->slug}{if $page != 1}#p={$page}{/if}">
		{$post->date_time|date:'j.n.Y H:i'}
		</a> od {$post->user->first_name} {$post->user->second_name}
	</td>
	{/if}
</tr>

Pokud to není bug Nette, nějaký nápad jak to opravit?