Nette\Database\SelectionFactory do pole pro HTML prvek SELECT
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- kejlicz
- Člen | 201
Dobrý den.
Nevím si rady, jak připravit pole pro formulářový prvek addSelect()
Používám Nette\Database\SelectionFactory a data tahám takhle
return $this->db->table('categories')->select("id,name");
Jak ze získaného objektu nejjednodušeji získám pole, které mi zkousne addSelect().
Díky moc za případnou radu.
Martin
- James_Scott
- Člen | 55
Ahoj, dávám své řešení (nejsem guru,takže nevím jestli 100% správné,ale funkční je).
v modelu:
public function getCategoryName()
{
return $this->connection->table('category')->fetchPairs('id','name');
}
public function add($id, $categoryId){
$this->connection->table('posts_category')->insert(array(
'posts_id' => $id,
'category_id' => $categoryId
));
}
v továrničce na vytvoření formuláře:
$categories = $this->categoryRepository->getCategoryName();
$form->addMultiSelect('kategorie', 'kategorie')
->setItems($categories, TRUE);
zpracování formuláře:
$values = $form->getValues();
foreach ($values->kategorie as $value)
{
$this->postsCategoryRepository->add($this->id, $value);
}