Jak na efektivní výpis ze dvou databází
- Majko
- Člen | 11
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
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)