Form formulář a načtení dat z db

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

Zdravím,

potřeboval bych poradit, nebo spíše nakopnout, jak předávat ID.

Potřebuji do formu dostat data z db pro následné upravení. Vím jak je tam dostanu pokud půjdu z metody show(pošlu si nějaké id a pak vypíšu).

Ale tedy bych potřebovat vypsat vše a ne prvně vybrat ID.

Momentálně to mám postavené tako, ale pokud najedu do šablony tak se mi do formuláře nevypíšsou data z db a pokud kliknu na upravit tak se vytvoří nový, nikoliv upraví ten stavající.

Díky za radu.

 protected function createComponentEditForm() {
        $form = new Form;
        $form->addText('OXTITLE_2', 'CZ Název');
        $form->addText('OXTITLE_3', 'SK Název');
        $form->addText('OXSHORTDESC_2', 'CZ Krátký popis');
        $form->addText('OXSHORTDESC_3', 'SK Krátký popis');
        $form->addSubmit('send', 'Upravit');
        $form->onSuccess [] = [$this, 'editFormSucceeded'];

        return $form;
    }
    public function editFormSucceeded($form, $values) {
          {
    $postId = $this->getParameter('OXID');

    if ($postId) {
        $post = $this->database->table('oxarticles')->get($postId);
        $post->update($values);
    } else {
        $values['oxid'] = rand(5, 15);
        $post = $this->database->table('oxarticles')->insert($values);
    }
          }
    }

    public function actionEditSk() {
        $post =  $this->template->posts = $this->database->table('oxarticles')->fetchall();
        $this['editForm']->setDefaults($post);
    }

šablona

{block content}
{foreach $posts as $post}
    oxid {$post->OXID}<br/>
    title{$post->OXTITLE_2}<br/>
    {control editForm}
{/foreach}