JOIN tabulek s vlastním upřesněním

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

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)

Scorpio
Člen | 45
+
0
-

Všude čtu že to lidi řeší pohledama. To opravdu není lepší varianta?

jiri.pudil
Nette Blogger | 1032
+
+1
-

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á.

Caine
Člen | 216
+
0
-

Kdyby se chtelo, tak by to slo, ale protoze se nechtelo, tak jsem si musel napsat vlastni;)