Nette database JOIN, dvě tabulky, nahrazení dvou idček nazvem z jiné tabulky
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Hadi.k
- Člen | 12
Mám problém s nette database, nevím jak přesně zde fungují joiny, a tak bych se rád zeptal co mám přesně zavolat, aby tabulka kterou budu mít dostupnou v template měla místo host_id a home_id název týmů.
Jedna je tabulka zápasů, kdo kdy s kým hrál kolik dal gólů atd. Druhá tabulka je jenom tabulka s id a názvem týmu.
Přikládám odkaz na dropbox kde jsou obě tabulky (screenshoot).
Dosud jsem volal dtb takto:
$matches = $this->database->table("matches")
->order("matchTime DESC");
Ale potřebuji nahradit idčka za ty jména.
V šabloně to pak vypadá následovně:
<table border='1'>
<tr><td>Domácí</td><td>Hosté</td><td>Domácí gólů</td><td>Hosté gólů</td><td>Typ výhry</td><td>Skupina</td><td>Datum</td></tr>
{foreach $matches as $match}
<tr><td>{$match->host_id}</td><td>{$match->home_id}</td><td>{$match->homeGoals}</td><td>{$match->hostGoals}</td><td>{$match->winType}</td><td>{$match->group}</td><td>{$match->matchTime}</td></tr>
{/foreach}
</table>
Tabulky (Screen): "":https://www.dropbox.com/…v/tables.jpg?dl=0
Předem všem děkuji za jakékoliv rady.
- David Matějka
- Moderator | 6445
$match->home->name;
$match->host->name;
a ujisti se, ze pouzivas innodb a mas spravne nastavene FK