Autor | Zpráva | ||
---|---|---|---|
sleep Profil * |
#1 · Zasláno: 19. 11. 2012, 11:05:23
Ahoj, přemýšlel jsem, že bych začal využívat postupu http://www.phpguru.cz/clanky/obsluzne-metody-modelu. Jen by mě zajímalo jak s tím pracovat. Takže mám pár dotazů:
1) Bude mi metoda find vracet entitu nebo to, co mi vrátí nette database? 2) Jak se pracuje s entitou a Repository v případě propojení tabulek. Mějme 3 tabulky: user, user_to_project a project. Když budu přidávat projekt tak chci přiřadit uživatele, kteří mají přístup k projektu a nevím jak toho docílit v entitě a pak repository. 3) je vhodné si v entitě napsat metodu, která mi bude převádět data z pole do parametrů a z parametrů do pole? Snad už se to tu neřešilo. Díky za vaše rady. |
||
Darkry Profil |
#2 · Zasláno: 19. 11. 2012, 12:54:21
1) Metoda find by ti měla vracet entitu. S nettte database vůbec nepracuješ
2) Správně by to asi mělo bejt tak, že entitě předáš objekt jiné entity (nalezené), se kterou to chceš spojit. Tj. chceš uživatele spojit s jedním projektem a tak předáš tabulce user entitu projektu a ta si z ní vytáhne id a to si uloží. 3) To mi přijde zbytečné,ale udělat to samozřejmě můžeš Ovšem doporučuji spíš vyzkoušet Doctrine ORM. Já jsem se mu sám dlouho vyhýbal kvůli tomu že se musí hodně psát a myslel jsem si, že jeho využití je spíš při týmové práci, ale nakonec jsem se přece jen přemluvil a vyzkoušel ho a od té doby ho využívám. |
||
sleep Profil * |
#3 · Zasláno: 21. 11. 2012, 12:36:01 · Upravil/a: sleep
Darkry:
„3) To mi přijde zbytečné,ale udělat to samozřejmě můžeš“ No chtěl jsem si ulehčit práci, protože bych pak třeba mohl při ukládání dát insert($article->toArray()) a nemusel bych psát třeba insert(array("title" => $article->getTitle())); Ještě jsem se chtěl zeptat jak nejlépe řešit to, že bych si rád udělal BaseRepository, kde bych měl získání připojení k db v constructoru a pak metody jako find, getAll, delete, save a pod. V případě, že to ale budu mít v baseRepository nebudu moct použít typehint a tak mě napadlo to udělat třeba tak, že bych pak dal jen save(Article $article){ return parent::save($article); } do třídy, kterou bych podědil od baseRepository. Je to špatný řešení? Díky za připomínky. Darkry: Ještě k tomu ORM, nějak se mu strašně bráním a vyhýbám. |
||
Časová prodleva: 11 let
|
0