@@ -62,6 +62,7 @@ public function processStoreData($request, $object)
6262 {
6363 $ originalColumns = Table::getColumnsName ($ request ->table );
6464 $ columns = json_decode ($ request ->columns );
65+ $ fields = json_decode ($ request ->fields );
6566 $ table = DBM ::model ($ object ->model , $ request ->table );
6667
6768 foreach ($ columns as $ column => $ value ) {
@@ -109,7 +110,11 @@ public function update(Request $request)
109110 }
110111
111112 try {
112- $ this ->sync ($ request , $ object );
113+ $ table = $ this ->processUpdateData ($ request , $ object );
114+ if ($ table ->update ()) {
115+ $ this ->updateRelationshipData ($ fields , $ columns , $ object , $ table );
116+ return response ()->json (['success ' => true ]);
117+ }
113118 return response ()->json (['success ' => true ]);
114119 } catch (\Exception $ e ) {
115120 return $ this ->generateError ([$ e ->getMessage ()]);
@@ -119,6 +124,40 @@ public function update(Request $request)
119124 return response ()->json (['success ' => false ]);
120125 }
121126
127+ public function processUpdateData ($ request , $ object )
128+ {
129+ $ originalColumns = Table::getColumnsName ($ request ->table );
130+ $ columns = json_decode ($ request ->columns );
131+ $ fields = json_decode ($ request ->fields );
132+ $ key = $ object ->details ['findColumn ' ];
133+
134+ $ table = DBM ::model ($ object ->model , $ request ->table )->where ($ key , $ columns ->{$ key })->first ();
135+
136+ foreach ($ columns as $ column => $ value ) {
137+
138+ if (in_array ($ column , $ originalColumns )) {
139+
140+ if ($ request ->hasFile ($ column )) {
141+ $ value = $ this ->saveFiles ($ request , $ column , $ request ->table );
142+ }
143+
144+ if ($ value !== null && $ value !== "" ) {
145+
146+ if (!Driver::isMongoDB ()) {
147+ if ($ functionName = $ this ->hasFunction ($ fields , $ column )) {
148+ $ value = $ this ->executeFunction ($ functionName , $ value );
149+ }
150+ }
151+
152+ $ table ->{$ column } = $ this ->prepareStoreField ($ value , $ request ->table , $ column );
153+ }
154+ }
155+ }
156+
157+ return $ table ;
158+
159+ }
160+
122161 public function delete (Request $ request )
123162 {
124163 if ($ request ->ajax ()) {
0 commit comments