Jak ukládat výsledky dotazu do cache

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

Zdravím, mám problém při ukládání výsledků dotazu do cache.

Mám tento kód:

$categories = $categories->order('priority DESC')->fetchAll();
$this->cache->save($cacheKey, $categories);

ale bohužel háže vyjímku You cannot serialize or unserialize PDO instances. V proměnné $categories je pole ActiveRows.

Je možné nějak převést objekty ActiveRow do serializovatelných objektů? Resp. nechcui to převádět pomocí ->toArray(), abych k tomu stále mohl přistupovat jako k objektu.

Dík za odpověď :)

Morfeo21
Člen | 35
+
0
-

Řeším to pomocí

foreach($categories as $index => $category)
{
	$categories[$index] = (object) $category->toArray();
}

Není nějaké hezčí řešení?

Patrik Votoček
Člen | 2221
+
0
-

Možná by stálo za zvážení aby ActiveRow měla http://cz2.php.net/serializable ale mohlo by to vést ke spoustě wtf momentů