Formular setDefaults z databaze po zavolani AJAXem

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

Ahoj,

mám na stránce nějaké udaje v rádcích a na každém řádku tlačíko pro editaci daného řádku. Tlačítko funguje pomocí Ajaxu kód následující:

<td><a class="ajax" href="{link adjust! 'id' => $new->id}"><span id="adjust" class="glyphicon glyphicon-pencil" title="Upravit"></span></a></td>

Ale v presenteru nevím jak předvyplnit data do formuláře z databáze. Dočetl jsem se, že by to mělo být přes funkci actionEdit jenomže nevím jak to udělat aby se spustila tato akce když to mám přes ajax. Takže jsem to udělal takto:

public function handleAdjust($id){
    $values = $this->context->news->getNew($id);
    $this['adjustForm']->setDefaults(array(
        'title' => 'xx',
        'content' => '3'
    ));
    $this->template->adjustFormComponent = TRUE;
    $this->redrawControl('adjustForm');
}

Tohle mi také funguje ale pouze jen když tam mám hodnoty natvrdo když se je snažím načíst z databáze jak bych to chtěl mít. Tak mi to nefunguje formulář se vůbec nevykreslí.

public function handleAdjust($id){
    $values = $this->context->news->getNew($id);
    $this['adjustForm']->setDefaults($values);
    $this->template->adjustFormComponent = TRUE;
    $this->redrawControl('adjustForm');
}

Takto vypadá funkce v modelu:

public function getNew($id)
{
    return $this->database->table($this->getTableName())->find($id);

}

Budu vděčný za každou radu. Poprípdě kdyby někdo prozradil jak debuggovat prostě si vypsat někam proměnou, kterou mám v presenteru když to mám takto přes ajax.

Díky moc za každou radu.

David Matějka
Moderator | 6445
+
0
-

Selection metodu find nema, ma get.

Poprípdě kdyby někdo prozradil jak debuggovat prostě si vypsat někam proměnou, kterou mám v presenteru když to mám takto přes ajax.

xdebug – https://filip-prochazka.com/…s-phpstormem

balicekt
Člen | 52
+
0
-

jj to byl ten problém díky moc