Jak správně ukládat data z databaze do cache

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

Chtěl bych si ukládat (některé) dotazy na databázi do cache. Problém je, že nevím jak na to, když se (pochopitelně) nesmí uložit připojení k databázi. Co a jak mám tedy uložit? Teď to volám takto (což samozřejmě nefunguje):

public function getRows($id = null)
{
	// _db je Nette\Database\Connection
	...
	return $this->_db->table('tabulka')->wherePrimary($id)->fetch();
	...
}

return $this->cache->call(callback($this->repository, 'getRows', $this->variantSettings));

Rozchodil jsem to jen tak, že jsem si ukládal pole, které jsem poté procházel. Chtěl bych ale, abych měl stejné API jako s dotazem na databázi. Tedy abych mohl přistupovat pomocí $tabulka->id$tabulka->referencni_tabulka->name

Hledal jsem snad všude, ale nikde jsem k tomu nic nenašel.

A taková podotázka, koukal jsem se na strukturu Nette\Database\Table\Selection a je tam cache. Tam si drží strukturu databáze nebo to slouží k něčemu jinému?

Díky