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}