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
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
/** @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.