Doctrine2 a Closure Table
- libik
- Člen | 100
Ahoj,
v projektu budu mit jedinou stromovou strukturu kategorii a chci ji resit
pres Closure Table – vim jak funguje, jake dotazy jsou potreba pro
ukladani/mazani/presouvani uzlu. Tak si rikam, nez pouzit nejakou extension jako
Gedmo, tak by to mohlo jit jednoduse i bez toho. Navic jsem cetl, ze Gedmo
pouziva bad-practice (vazani repository na entitu primo v jeji definici).
Bohuzel ale hned na zacatku :) jsem narazil na problem, ktery se tyka spis toho,
ze jsem s Doctrine2 teprve v zacatcich.
Je mi teda jasna entita Category (id,name,ordernum…), ale neni mi jasne, co
s closure tabulkou (ancestor,descendant,depth…). Tim, ze closure neobsahuje
jen reference, ale i dalsi informace jako depth, uz bych to mel z hlediska ORM
vnimat take jako entitu a nezavadet vztahy ManyToMany, je to tak?
Diky.
- libik
- Člen | 100
A bude mi ta entita k necemu, kdyz budu pouzivat DQL v entite category ? Resp. moc nevim, jak v pripade entit (tedy bez DQL) to cele resit v nejake category fasade, kdyz se tam ma zmenit hodnota atributu nekolika closure entitam najednou (treba s descendant = 11), mel bych je vsechny nacitat, zmenit jim hodnotu a pak to cele flushnout? Nebo jit cestou DQL, pak ale entitu closure tabulky nepotrebuju?
Editoval libik (2. 1. 2016 19:06)
- mrtnzlml
- Člen | 140
Nějaký čas zpět jsem to řešil takto (NavigationTreePath) resp. viz celý Navigation bundle. V NavigationFacade je pak vidět, jak jsem s tím pracoval. Je to hodně quick'n'dirty, ale zrovna v tomto případě mi to moc nevadilo… :)