Multiplier – více parametrů/objekt do komponenty
- Jiří Nápravník
- Člen | 710
Mám výpis komentářů a u každého chci vykreslit kolik má pozitivních a kolik negativních hlasů + samotné hlasování. Mám na to udělanou komponentu, a abych ji mohl vykreslit na stránce víckrát, tak používám Multiplier.
Jenže jak mohu přes Multiplier poslat té komponentě potřebná data, potřebuji tam poslat ty plsové a mínusové body a id. Ideální by bylo poslat tam přímo celou entitu.
Napadá mě jedině uložit si do třídní proměnné všechny ty entity a pak v tom multiplieru poslat tu konkrétní entitu. Ale to mi nepřijde příliš dobré řešení, protože pi větším počtu entit, to bude celkem trvat.
Je nějaké lepší řešení, či na to jít nějak úplně jinak?
- Jiří Nápravník
- Člen | 710
Ano to, je samozřejmě možné, ale je to ještě horší než to co napadlo mě. Protože když budu mít těch komentářů stovku, tak se budu stokrát ptát databáze (případně cache).
- David Matějka
- Moderator | 6445
z sablony entitu predat nemuzes, to uz by bylo pozde.
mas tedy dve moznosti – bud to, co ti radil vvoody (btw, treba doctrina ma v uow identity map, takze se entita vytahne z pameti), nebo to, cos navrhoval ty (seznam entit v property presenteru a v factory multiplieru si ji vytahnout)
ja mam radeji predavani entit a ne jen id :)
- Vojtěch Dobeš
- Gold Partner | 1316
Předat v továrničce konkrétní data, získaná spolu s ostatními někde na jednom místě v presenteru/obalující komponentě, my přijde jako zcela košer řešení, a nevidím principiální důvod, proč by to mělo být pomalé.
Předat složitější data přímo anonymní funkci třeba místo IDčka nejde z architektonického návrhu – onen „parametr“ není parametr, ale název komponenty.
- Jiří Nápravník
- Člen | 710
Ok, tak mi asi nic lepšího nezbude.
matej21: já mám taky raději předávání celé entity. Doctrine sice využívám, ale tady to nejsou čisté entity, musím tam mít Gedmo\Tree, takže je to v podstatě pole, či-li to budu muset dělat podobně jako jsem napsal výše.