Jak na efektivní výpis ze dvou databází

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

Ahoj,

chtěl bych požádat o radu, jak nejlépe a nejefektivněji praktikovat výpis z dvou tabulek, které jsou v oddělených databázích.

Mám dvě databáze: master a local.

Na masteru je tabulka se sloupci: id, name, value1, value2 etc.

Na localu je pak tabulka: id, masterid, name, value3, value4, kde masterid vždy odkáže na id v master tabulce.

Data nemůžu duplikovat, nebo si je překopírovat do local tabulky, či provádět nějakou synchronizaci. Zkrátka musí zůstat tam kde jsou, jinak to vyřešit nejde.

Připojeno už mám, mám v presenetru ready dvě připojení k těmto databázím, ale potřeboval bych teď pomoct, jak udělat efektně výpis.

Moc rád bych použil něco jako

	foreach ($localtable as $item)
	{
		echo $item->ref("mastertable","masterid")->value1;
	}

to je ale však jasné, že fungovat nebude.

Lze to udělat jinak, než v každém loopu foreache trápit databázi něčím jako $mastertable->where("id",$item->masterid)->fetch() ?

Předem díky za ochotu :)

Editoval Majko (9. 1. 2014 19:25)

honos
Člen | 109
+
0
-

Majko napsal(a):

Lze to udělat jinak, než v každém loopu foreache trápit databázi něčím jako $mastertable->where("id",$item->masterid)->fetch() ?

Předem díky za ochotu :)

Proč to nechceš tak? Osobně mě napada ještě možnost vybrat všechny sloupce najednou do pole kde index v poli bude primary key v master a podle toho id vybirat:

$mastertableArray[$item->id][...];

Ale není to plitvani resourcem? Dat v tabulce může být hodně a s tím je spojeno využiti paměti atd.

EDIT: Nebo na to použit některé z ORM ale nejsem si jistý.

Editoval honos (9. 1. 2014 23:07)