Znovu vybratie udajov z databazy

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

Caute mam stranku, ktora ked sa mi nacita, tak sa v metode renderDefault() nacitaju urcite data z DB. Na tej istej stranke mam aj form, a mojim cielom je aby ak navolim urcite kroteria vo forme aby sa mi stranka nacitala s uz filtorvanymi udajmi, ako nato?

Urcite je to rivilane len moj problem je, ze neviem odchytit udalost po odoslani formu (pripad ako delete kde sa udeje nieco na pozadi viem urobit ) len problem je v pripade ze ak po reloade potrebujem nacitat ine data na tej istej stranke.

Vdaka

castamir
Člen | 629
+
0
-
/** @persistent */
public $condition = NULL;

private $selection;


public function renderDefault() {
    $this->selection = getSelection(); // proste nejaka metoda, ktera ti vrati instanci Nette\Database\Table\Selection
    if ($this->condition) {
        $this->selection->where("condition = ?", $this->condition);
    }
    // predpokladam, ze data chces dostat do sablony
    $this->template->foo = $this->selection;
}

protected function createComponentFormular() {
    ...
    $form->onSuccess[] = $this->zpracujFormular;
    return $form;
}

public function zpracujFormular(Form $form) {
    ...
    $this->condition = $form->values['condition'];
    ...
}

Toto je hruba kostra, jak by se to dalo provest. Condition muze predstavovat sloupec tabulky. Ta metoda where muze vypadat i jinak v zavislosti na to, co chces fitrovat.