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
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
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}