Obecný data provider a práce s jeho výsledky

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

Snažím se si udělat pro jednu komponentu data provider který bude obsahovat metody pro získání dat. Data provider je postaven na callbackách, tj. uživatel musí sám zařídit získání dat, komponenta pak bude očekávat jen určitý formát.

Já v aplikací mám nasazenu doctrine2, takže když mě příjdou data tak to zatím očekáva že příjde buď entita nebo pole entit, tudíž když ty data pak komponenta vypisuje tak může dělat $row->column

Otázkou tedy jak to sjednotit aby to dokázalo zpracovat i data předané například z nette database? Má komponenta vyžadovat pole či pole polí? Nebo je možné zústat u objekotévého typu přístupu k datům?

akadlec
Člen | 1326
+
0
-

Možná sem to napsal moc obecně ;)
Předpokládejme že developer musí komponentě předat callback pro načtení záznamů

$components->setDataCallback(function($filtr){
	//...ziskani dat z DB

	return $data;
});

Komponenta si tento callback zavolá a očekáva nějakou návratovou hodnotu. V doctrine2 to mám jasné, pokud očekávám více záznamů tak si pošlu pole s entitama a můžu pak k jednotlivým prvkům přistupovat.

$row->getColumn()

$row->column

ale jak to je např. s nette database? V jakém tvaru se dá pomocí ní dostat data?
Nebo vyžadovat jen pole?

$row['column']