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