ugrás a tartalomhoz

Symfony+Doctrine: mentés előtti ellenőrzés

mdesign · 2011. Feb. 23. (Sze), 18.22
Sziasztok!

Próbáltam rákeresni a kérdéskörre, de a keresési tagjeim sorra sok más találalot hoz ki mint amire kíváncsi lennék...

Ha valaki dolgozott hasonlóval, megköszönném ha megosztaná tapasztalait.

Rögtön a lényegre is térnék:
Adott egy Hír lekérve adatbázisból. Módosítok rajta el is mentem.
Igen ám, de közben ezt a hírt másvalaki is szerkesztette, és a mostani mentésem felülvágta az ő módosítását.

Ezt én úgy oldanám meg, hogy van a Hírnek egy módosítási dátuma, és mielőtt rámentek, lekérem az adatbázisból. Ha nem egyenlő az általam szerkesztettel, akkor pedig hibát dobok, h közben vki a háttérben módosította.

Ezt az ellenőrzést pedig a Hír Doctrine record preUpdate metódusában lehetne implementálni.

Ötlet/Javaslat?

Köszi,
Üdv: Karesz
 
1

lock

bb0072 · 2011. Feb. 23. (Sze), 18.56
Lockolni kellene az adott hírt. Nem a db-ben a rekordot, mert azt hiszem MySql-ben azt nem is lehet, hanem az alkalmazás szintjén az adott id-jű hírt. És akkor ki lehet írni a konkurens szerkesztőnek, hogy ezt a hírt már éppen valaki szerkeszti. Ezt én úgy csinálnám meg, hogy bizonyos időközönként ajax hívásokkal ellenőrizze, hogy lockolva van-e még a hír. Aki pedig lockolja, szintén ajax hívásokkal jelzi, hogy fenntartja a lockot.
2

Locking manager

Protezis · 2011. Feb. 24. (Cs), 00.01
3

köszönöm

mdesign · 2011. Feb. 25. (P), 12.16
Köszi szépen a ötleteket, linkeket:)