@@ -131,6 +131,12 @@ public function updateRepeaterMorphMany(
131
131
$ relationField [$ morphFieldId ] = $ object ->id ;
132
132
$ relationField [$ morphFieldType ] = $ object ->getMorphClass ();
133
133
134
+ if (is_array ($ relationField ['content ' ] ?? null )) {
135
+ $ content = $ relationField ['content ' ];
136
+ unset($ relationField ['content ' ]);
137
+ $ relationField = array_merge ($ content , $ relationField );
138
+ }
139
+
134
140
if (isset ($ relationField ['id ' ]) && Str::startsWith ($ relationField ['id ' ], $ relation )) {
135
141
// row already exists, let's update
136
142
$ id = str_replace ($ relation . '- ' , '' , $ relationField ['id ' ]);
@@ -210,6 +216,12 @@ public function updateRepeaterWithPivot(
210
216
}
211
217
}
212
218
219
+ if (is_array ($ relationField ['content ' ] ?? null )) {
220
+ $ content = $ relationField ['content ' ];
221
+ unset($ relationField ['content ' ]);
222
+ $ relationField = array_merge ($ content , $ relationField );
223
+ }
224
+
213
225
if (isset ($ relationField ['id ' ]) && Str::startsWith ($ relationField ['id ' ], $ relation )) {
214
226
// row already exists, let's update, the $id is the id in the pivot table.
215
227
$ pivotRowId = str_replace ($ relation . '- ' , '' , $ relationField ['id ' ]);
@@ -307,6 +319,7 @@ public function updateRepeater(
307
319
308
320
foreach ($ relationFields as $ index => $ relationField ) {
309
321
$ relationField ['position ' ] = $ index + 1 ;
322
+
310
323
// If the relation is not an "existing" one try to match it with our session.
311
324
if (
312
325
! Str::startsWith ($ relationField ['id ' ], $ relation ) &&
@@ -315,6 +328,12 @@ public function updateRepeater(
315
328
$ relationField ['id ' ] = $ relation . '- ' . $ id ;
316
329
}
317
330
331
+ if (is_array ($ relationField ['content ' ] ?? null )) {
332
+ $ content = $ relationField ['content ' ];
333
+ unset($ relationField ['content ' ]);
334
+ $ relationField = array_merge ($ content , $ relationField );
335
+ }
336
+
318
337
// Set the active data based on the parent.
319
338
if (! isset ($ relationField ['languages ' ]) && isset ($ relationField ['active ' ])) {
320
339
foreach (array_keys ($ relationField ['active ' ]) as $ langCode ) {
@@ -495,9 +514,9 @@ function ($files, $role) use ($locale, $relation, $relationItem) {
495
514
foreach ($ relatedItemFormFields ['blocks ' ] ?? [] as $ key => $ block ) {
496
515
$ fields ['blocks ' ][str_contains ($ key , '| ' ) ? $ key : "blocks- $ relation- {$ relationItem ->id }| $ key " ] = $ block ;
497
516
}
498
- foreach (['Fields ' , 'Medias ' , 'Files ' , 'Browsers ' ] as $ fieldKey ) {
499
- if (!empty ($ relatedItemFormFields ['blocks ' . $ fieldKey ])) {
500
- $ fields ['blocks ' . $ fieldKey ] = array_merge ($ fields ['blocks ' . $ fieldKey ] ?? [], $ relatedItemFormFields ['blocks ' . $ fieldKey ]);
517
+ foreach (['Fields ' , 'Medias ' , 'Files ' , 'Browsers ' , ' Repeaters ' ] as $ fieldKey ) {
518
+ if (!empty ($ relatedItemFormFields ['blocks ' . $ fieldKey ])) {
519
+ $ fields ['blocks ' . $ fieldKey ] = array_merge ($ fields ['blocks ' . $ fieldKey ] ?? [], $ relatedItemFormFields ['blocks ' . $ fieldKey ]);
501
520
}
502
521
}
503
522
0 commit comments