Autor Zpráva
sleep
Profil *
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
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 *
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: