diff --git a/src/Models/BlockRepeater.php b/src/Models/BlockRepeater.php index 4224280..1fdaa0d 100644 --- a/src/Models/BlockRepeater.php +++ b/src/Models/BlockRepeater.php @@ -32,9 +32,13 @@ public static function addChildBlockIds($blockIds) foreach ($blockIds as $blockId) { $blockRepeater = static::preload($blockId); if ($blockRepeater->exists) { + $blockRepeaterChildren = explode(',', $blockRepeater->blocks); + if (($key = array_search($blockId, $blockRepeaterChildren)) !== false) { + unset($blockRepeaterChildren[$key]); + } $blockRepeaterBlockIds = array_merge( $blockRepeaterBlockIds, - static::addChildBlockIds(explode(',', $blockRepeater->blocks)), + static::addChildBlockIds($blockRepeaterChildren), [$blockId] ); }