Použítí modelu pro začátečníka
- kejlicz
- Člen | 201
Všechny srdečně zdravím.
Po dvou pokusech začít s nette, kdy jsem si „vylámal zuby“ to zkouším po třetí. Dneska celý den jen zkouším a čtu. Mám v tom hrozný guláš. Teď jsem se pár hodin zaseknul na tom, jak správně používat model, takže zatím ve svých pokusem přistupuji k DB z presenteru.
Teď mám třeba toto. Vytvořím si formulář na vložení a po odeslání data uložím do db.
protected function createComponentAddForm()
{
$form = new Nette\Application\UI\Form;
$form->addText('jmeno', 'Jméno :')->setRequired('Zadejte prosím jméno');
$form->addText('vek', 'Věk :');
$form->addText('skupina', 'Skupina :');
$form->addSubmit('send', 'Vložit');
$form->onSuccess[] = callback($this, 'processAddForm');
return $form;
}
public function processAddForm(Nette\Application\UI\Form $form)
{
if($form->isSuccess()) {
$this->database->exec('INSERT INTO zaci', array(
"jmeno" => $form['jmeno']->getValue(),
"vek" => $form['vek']->getValue(),
"skupina" => $form['skupina']->getValue(),
));
$this->flashMessage("Formulář byl úspěšně odeslán.");
$this->redirect("this");
}
else {
$this->flashMessage("Formulář není správně vyplněn.");
}
}
Jaký je prosím aktuální a nejjednodušší postup, jak použít pro ukládání do db model. Jak má vypadat soubor modelu a co dát do configu a potom jak to volat z presenteru?
Díky MOC.
- Šaman
- Člen | 2666
Být tebou, tak zatím model vynechám a zkouším čisté Nette. Jinak si
zase vylámeš zuby, protože novot bude spousta. S presentery a šablonami si
nějaký čas vystačíš a až budeš v Nette rozkoukaný, zkusíš oddělit
model.
Model nesouvisí s Nette, ale MVC návrhem. Konkrétně ten model, který se
používá v Quickstartu je Repository pattern. Vysvětlení jednotlivých
vrstev modelu najdeš v tomto
článku
Ukázka je v Quickstartu, ten na anglických stránkách je údajně
novější.
- kejlicz
- Člen | 201
Tak jsem si článek pročetl a už se začínám pomalu orientovat. Na článek jsem narazil už dřív, ale vyděsil mě těn název. Myslel jsem, že je to nějaké „vyšší“ použití modelu a tak jsem to nečetl, když nechápu ani ten základ. Nenapadlo mě, že je to vlastně to, co hledám. Ještě jednou dík.