Illegal offset type při nevymazaném cache

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

Ahoj všichni, už se vám někdy stalo, že setdefaults() u formuláře fungovalo jen při vymazané cache? Jakmile se temp/cache zaplní (po jakémkoliv požadavku), už se objeví illegal offset type. Čím to je?

<?php
public function actionEditArticle ($id) {

    if (!$id) {
	$this->flashMessage('enter id of the mag issue to add an article to' ,'warn');
	$this->redirect('view');
    }

    $oldValues = $this->context->cms->getArticleById($id)->fetch();
    if (!$oldValues) { // kontrola existence záznamu
	 throw new \Nette\BadRequestException;
    } else { // kontrola oprávnění
	\Nette\Diagnostics\Debugger::bardump($oldValues);
	$this["editArticleForm-$id"]->setDefaults($oldValues); // nastavení výchozích hodnot
    }

}
?>

Může tu být souvislost s tím, že $id není číslo? Nic mě nenapadá, dík za nakopnutí

hrach
Člen | 1834
+
0
-

Verze nette a obsah metody getArticleById.

bo
Člen | 16
+
0
-
<?php
public function getArticleById($id)
  {
      return $this->database->table('magazine_articles')->where('id', $id);
  }
?>

a verze Nette 2.0.5

Divné je, že jinde mi ten stejný mechanismus funguje

<?php
// edit Magazine
public function actionEdit ($id) {
    if (!$id) {
	$this->flashMessage('enter id of the mag issue to edit' ,'warn');
	$this->redirect('view');
    }
    \Nette\Diagnostics\Debugger::barDump($id);
    $oldValues = $this->context->cms->getMagazineById($id)->fetch();

    if (!$oldValues) {
	 throw new \Nette\InvalidArgumentException;
    } else {

		\Nette\Diagnostics\Debugger::barDump($oldValues);
	$this["editMagazineForm-$id"]->setDefaults($oldValues);
    }

}
?>

a obsah getMagazineById():

<?php
public function getMagazineById($id)
  {
      return $this->database->table('magazine')->where('id', $id);
  }
?>

Nic složitého.. Kdyby to nefungovalo vůbec, je špatně kód, ale když jen při vymazané cache…

hrach
Člen | 1834
+
0
-

jasny, takze to neni nejnovejsi build – bude to urcite bug.
nejdriv zkus upgrade na aktualni stable, pak na nightly.
verim, ze uz to bude opravene.

bo
Člen | 16
+
0
-

Zjistil jsem, že přechod na 2.0.7 mi potrvá. Až to rozchodím, dám vědět. Zatím díky!

hrach
Člen | 1834
+
0
-

Hele, hod jsem jeste ladenku. Nekam nahrej html soubor. Diky.
H

bo
Člen | 16
+
0
-

Nevím, jak Laděnku nastavit, aby i v development režimu uchovávala html. Tak jsem ji nastavil do produkčního a objevila se jiná chyba = empty array, což mi ale nedává smysl, protože se mi celý ten článek dumpuje.
tady error ve vývoji
a tady v produkčním.
Omluva za error ve vývoji, je to jenom zip s html složkou se soubory /přes ctrl-s/