Použítí modelu pro začátečníka

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

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
+
0
-

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
+
0
-

Díky. Článek přečtu. Já mám právě zkuěěnosti s CodeIgniterem a tam je to triviální, ale tady jsem se v tom nějak ztratil.

kejlicz
Člen | 201
+
0
-

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.