Jak na výpis a editaci m:n záznamů

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

Zdravím, nedaří se mi rozchodit výpis dat přes vazbu M:N.
Mám tabulky:
nabizimekategorie

  • ID
  • Name

nabizimesluzby

  • ID
  • Name
  • Description

sluzbykategorie

  • SluzbaID – cizí klíč na nabizimesluzby.ID
  • KategorieID – cizí klíč na nabizimekategorie.ID

V presenteru mám:

public function renderDefault()
{
	$this->template->categories = $this->database->table('nabizimekategorie');
	$this->template->services = $this->database->table('nabizimesluzby');
}

V šabloně pak:

		<ul n:tag-if="count($services)" n:inner-foreach="$services as $service">
			<li>
				{$service->Name}
				<ul>
					{foreach $service->related('sluzbykategorie') as $caty}
						<li>{$caty->nabizimekategorie->Name}</li>
					{/foreach}
				</ul>
			</li>
		</ul>

V tabulkách mám patřičná data. Hlásí mi to:
Nette\MemberAccessException
Cannot read an undeclared column ‚nabizimekategorie‘.

Prošel jsem několik pár let starých vláken tady na fóru a nijak mi to nepomohlo. Můžete mi někdo ukázat kde je chyba? :/ Díky

EDIT: při přidávání/editaci služeb mám ve formuláři

$form->addCheckboxList('categories', 'Kategorie:', $categories);

kde $categories je

		$categories = array();
		foreach($this->database->table('nabizimekategorie') as $kate){
			$categories[$kate->ID] = $kate->Name;
		}

Jak mohu při updatu tabulky ‚nabizimesluzby‘ aktualizovat i tabulku ‚sluzbykategorie‘ dle zaškrtnutých checkboxů z checkboxlistu?

Editoval Mart78 (25. 11. 2014 14:33)