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
+
0
-

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
+
0
-

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);
                }
kejlicz
Člen | 201
+
0
-

Díky, moc pomohlo.