Načtení Modelů v presenterech
- KEnik
- Člen | 10
Zdravím,
najdu někde návod jak načítat modely do presenterů? Případně prosím co
je potřeba pro zprovoznění dle bodu 2 pro nete 2.1?
- https://doc.nette.org/cs/quickstart to neřeší
- postup https://pla.nette.org/…cy-injection nefunguje pro poslední nette (stažené pomocí composer create-project nette/sandbox )
- ModelLoader je prý fuj.
Předem díky
PS: existuje nějaký seznam častých chyb na kterých jsem včera strávil
asi 2 hodiny jako:
parametr url id se zahazuje
nestačí cizí klíč je nutno mít i nazvy sloupců a tabulek dle určitého
tvaru.
( v případě kladné odpovědi rozepíšu)
- Mysteria
- Člen | 797
Pokud zaregistruješ model jako službu v neonu, tak pak je nejjednodušší
/** @var \Model\MujModel @inject */
public $model;
Jinak řešilo se to třeba tady, https://forum.nette.org/…senterom-atd mrkni od 36. příspěvku dále máš nejlepší možný přístup jak to řešit.
Co konkrétně máš na mysli s tím mizením parametru ID z URL?
- KEnik
- Člen | 10
Díky – zkusím až se na to dostanu.
mizení parametru ( jeho zahození)
http://nette/edit?id=6 > presmeruje na http://nette/edit
s parametrem id = NULL
pro id = 6 je potřeba zadat http://nette/edit/6
- Šaman
- Člen | 2666
Pokud ten parametr nemáš nastavený persistentní, tak se nepředává (podíval by ses jednou na detail uživatele id=10 a pak bys chtěl tu desítku v url nastálo?)
Edit: Teď jsem si to přečetl znovu a nevím, jestli se nesnažíš
dělat odkazy <a href="http://nette/edit?id=6"></a>
? To
by sice imho zahazovat parametr id nemělo, ale je to hodně fuj. Spíš jsem
tě špatně pochopil.
Edit2: Asi už chápu – když zadáš ručně adresu
http://nette/edit?id=6
, tak to zahodí id? To je tím, že máš
v routeru nastavený tvar cesty jako 'presenter/view/id'
. To id,
které se ti objeví v aplikaci a předává se i do action/render metod
(pokud vyžadují parametr id) se bere z té cesty. To, které jsi nastavil
jako query (id=6) se asi nezahodilo, ale našel bys ho někde v
$presenter->request->query
.
Editoval Šaman (24. 2. 2014 12:15)
- KEnik
- Člen | 10
dle návodu https://forum.nette.org/…senterom-atd
mi to hází chybu:
Nette\DI\ServiceCreationException
Class JidloModel used in service ‚24_JidloModel‘ has not been found or is
not instantiable.
Je vhodnější dořešit tam díky.
- KEnik
- Člen | 10
Šaman napsal(a):
Edit2: Asi už chápu – když zadáš ručně adresuhttp://nette/edit?id=6
, tak to zahodí id? To je tím, že máš v routeru nastavený tvar cesty jako'presenter/view/id'
. To id, které se ti objeví v aplikaci a předává se i do action/render metod (pokud vyžadují parametr id) se bere z té cesty. To, které jsi nastavil jako query (id=6) se asi nezahodilo, ale našel bys ho někde v$presenter->request->query
.
Ano přesně tak, díky za vysvětlení.