Spojenie dvoch tabuliek – Call to undefined method…Selection::related()

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

Zdravim,
ako do jednej premennej dostanem obsah z 2 tabuliek? Viem, ze je to zakladna vec, ale uz 2 hodiny neviem prist na to preco mi related() nefunguje – Call to undefined method Nette\Database\Table\Selection::related() a nikde ani v dokumentacii ani na fore to nevidim.

Mam 2 tabulky – offers(id) a applications(offer_id), ktore by mali byt prepojene prave cez tie 2 id.

Napr

public function findAll()
{
	return $this->database->table('applications')->related('offers');
}

Dakujem

Editoval xand (16. 12. 2013 19:14)

David Matějka
Moderator | 6445
+
0
-

funkce related() je nad ActiveRow, ne nad Selection

z funkce vrat pouze

return $this->database->table('applications');

a az to budes vypisovat nekde v sablone

{foreach $applications as $application}
	{$application->offer->id}
	{* coz je zkratka pro:*}
	{$application->ref('offer')->id}
{/foreach}

v opacnem smeru, kdyz bys prochazel offers a chtel k tomu vsechny application, tak tam bys pouzil to related:

{foreach $offers as $offer}
	{foreach $offer->related('applications') as $application}

	{/foreach}
{/foreach}
xand
Člen | 15
+
0
-

vdaka :), takto by to malo byt vysvetelene aj v dokumentaci..
inak tymto sa neporusuje spravna struktura mvc modulu aplikacie?