blackroger
24.01.2011, 18:36:05
Mam pytanie w jaki sposób poprawnie zrobić update obiektu w bazie (chodzi tu o zapis formujlarza). Chodzi tu o to żeby dwóch użytkowników mogło zmienić coś w jednym rekordzie tylko w taki sposób, że pola których nie ruszają mają pozostać niezapisane, a tylko pola zmodyfikowane. Proszę o odpowiedź.
bikerszymek
24.01.2011, 19:00:08
Nie rozumiem w czym problem
$Form = new ObjectForm($Object);
Pozniej normalnie bindujesz tym co dostajesz z request i zapisujesz
blackroger
24.01.2011, 19:16:43
Ale to przecież nie rozwiązuje problemu.
Chodzi takie coś:
Jest dwóch użytkowników na jednym koncie w aplikacji. Z dwóch różnych przeglądarek.
Logują się na jedno konto.
I teraz jeden odpala formularz edycji rekordu1 i gdzieś idzie.
Drugi też odpala formularz rekordu1 i w tym czasie zmienia go i zapisuje do bazy.
Pierwszy wraca i zmienia jedną rzecz i zapisuje.
Chcę aby w tym momencie została zapisana tylko jedna rzecz tego drugiego użytkownika.
Czy da się takie coś zrobić?
Nie chcę żeby doszło do zapisania starego formularza na nowy i żeby zostały zmienione faktycznie w bazie tylko te elementy które zostały faktycznie zmodyfikowane, a nie te, które zostały bezmyślnie wysłane
bikerszymek
24.01.2011, 19:33:51
Jak nie uscislasz to nie dziw sie ze nie dostajesz dobrych odpowiedzi.
Ja do takich celow uzywam
http://www.symfony-project.org/plugins/lai...mDoctrinePlugin , nie wiem czy spelni wszystkie Twoje wymagania.
Pzdr
blackroger
24.01.2011, 21:37:52
Właśnie o to mi chodziło...dzięki... powiedz mi jeszcze jak wyciągnąć error message z tego obiektu?
bikerszymek
24.01.2011, 22:12:52
Ten błąd jest global errorem, więc w szablonie:
<?php echo $Form->renderGlobalErrors() ?>