„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
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?