@@ -131,6 +131,12 @@ public function updateRepeaterMorphMany(
131131 $ relationField [$ morphFieldId ] = $ object ->id ;
132132 $ relationField [$ morphFieldType ] = $ object ->getMorphClass ();
133133
134+ if (is_array ($ relationField ['content ' ] ?? null )) {
135+ $ content = $ relationField ['content ' ];
136+ unset($ relationField ['content ' ]);
137+ $ relationField = array_merge ($ content , $ relationField );
138+ }
139+
134140 if (isset ($ relationField ['id ' ]) && Str::startsWith ($ relationField ['id ' ], $ relation )) {
135141 // row already exists, let's update
136142 $ id = str_replace ($ relation . '- ' , '' , $ relationField ['id ' ]);
@@ -210,6 +216,12 @@ public function updateRepeaterWithPivot(
210216 }
211217 }
212218
219+ if (is_array ($ relationField ['content ' ] ?? null )) {
220+ $ content = $ relationField ['content ' ];
221+ unset($ relationField ['content ' ]);
222+ $ relationField = array_merge ($ content , $ relationField );
223+ }
224+
213225 if (isset ($ relationField ['id ' ]) && Str::startsWith ($ relationField ['id ' ], $ relation )) {
214226 // row already exists, let's update, the $id is the id in the pivot table.
215227 $ pivotRowId = str_replace ($ relation . '- ' , '' , $ relationField ['id ' ]);
@@ -307,6 +319,7 @@ public function updateRepeater(
307319
308320 foreach ($ relationFields as $ index => $ relationField ) {
309321 $ relationField ['position ' ] = $ index + 1 ;
322+
310323 // If the relation is not an "existing" one try to match it with our session.
311324 if (
312325 ! Str::startsWith ($ relationField ['id ' ], $ relation ) &&
@@ -315,6 +328,12 @@ public function updateRepeater(
315328 $ relationField ['id ' ] = $ relation . '- ' . $ id ;
316329 }
317330
331+ if (is_array ($ relationField ['content ' ] ?? null )) {
332+ $ content = $ relationField ['content ' ];
333+ unset($ relationField ['content ' ]);
334+ $ relationField = array_merge ($ content , $ relationField );
335+ }
336+
318337 // Set the active data based on the parent.
319338 if (! isset ($ relationField ['languages ' ]) && isset ($ relationField ['active ' ])) {
320339 foreach (array_keys ($ relationField ['active ' ]) as $ langCode ) {
@@ -495,7 +514,7 @@ function ($files, $role) use ($locale, $relation, $relationItem) {
495514 foreach ($ relatedItemFormFields ['blocks ' ] ?? [] as $ key => $ block ) {
496515 $ fields ['blocks ' ][str_contains ($ key , '| ' ) ? $ key : "blocks- $ relation- {$ relationItem ->id }| $ key " ] = $ block ;
497516 }
498- foreach (['Fields ' , 'Medias ' , 'Files ' , 'Browsers ' ] as $ fieldKey ) {
517+ foreach (['Fields ' , 'Medias ' , 'Files ' , 'Browsers ' , ' Repeaters ' ] as $ fieldKey ) {
499518 if (!empty ($ relatedItemFormFields ['blocks ' .$ fieldKey ])) {
500519 $ fields ['blocks ' .$ fieldKey ] = array_merge ($ fields ['blocks ' .$ fieldKey ] ?? [], $ relatedItemFormFields ['blocks ' .$ fieldKey ]);
501520 }
0 commit comments