JOIN tabulek s vlastním upřesněním
- Scorpio
- Člen | 45
Zdravím,
nainstaloval jsem poslední verzi nette a spolu s tím vyměnil databazovou
vrstvu z dibi za tu v nette.
Nyní řeším jak správně spojovat tabulky četl jsem, že si sám hledá
klíče ke spojení.
Líbí se mi, že z databaze načte jen potřebné sloupce které si volám až
z šablony ale jakmile potřebuji JOIN musím předem zvolit co má
vybrat.Snažím se spojit tabulky jel jsem přesně podle dokumentace ovšem
stále mě trochu zrazuje zvlášť když je relace 1:M, kterých mám hodně a
potřebuji toto spojení převážně kvůli agregacím (objednávka a produkty,
objednávka a faktury, apod). Mohl by mi někdo poradit jak říci podle čeho
se má joinovat nebo nejlepe jak přidat do Table/Selection funkci které bych
předal jako prarametr nazev tabulky co chci a podmínku ON úplně best by byla
takováhle funkce:
$table->join('table2','table.id','table2.jineid');
a to by do dotazu jednoduše jen přidalo
LEFT JOIN table ON table.id = table2.jineid
Potom by stále fungoval ten paradní select co Nette umí.
Editoval Scorpio (11. 7. 2014 14:28)
- jiri.pudil
- Nette Blogger | 1032
NDb má na získávání dat z vazeb API, které si právě samo hledá sloupce např. podle cizích klíčů v databázi. Pokud potřebuješ join kvůli filtrování podle dat z jiné tabulky, i na to je NDb připravená.