Skip to content

Recursion problem with fieldsets #12698

@itsserbin

Description

@itsserbin

Bug description

Hello. There is an issue with the recursive use of Fieldsets. I need to familiarize you with the context of CMS usage so that you understand the problem.

Our goal is to create a block constructor in collections. To do this, we use fieldsets:

  • Block constructor
  • Page Section
  • Page Title
  • Page Text
  • Page Tabs

etc...

Block constructor is the main fieldset that includes the main sections, with Page Section as the priority. Page Section uses a grid to build columns and a replicator to build content in columns (Page Text, Page Title, etc.).

The problem arises when I try to recursively connect Page Section to Page Tabs in order to use it to build content within the component. Immediately after saving such a change, the server crashes and the database needs to be restored.

It would be great to implement recursion so that fieldsets could be reused. However, it would be enough to at least avoid Bad Gateway behavior.

How to reproduce

Chain:
Collection ->
Blueprint ->
Linked Fieldset: Block Constructuror (replicator) ->
Linked Fieldset: Page Section (grid -> replicator) ->
Linked Fieldset: Page Tabs (grid -> replicator) ->
Linked Fieldset: Page Section

Logs

502 Bad Gateway

Environment

Application Name: Laravel
Laravel Version: 12.32.5
PHP Version: 8.4.11
Composer Version: 2.8.10
Environment: local
Debug Mode: ENABLED
URL: localhost
Maintenance Mode: OFF
Timezone: UTC
Locale: en

Cache
Config: NOT CACHED
Events: NOT CACHED
Routes: NOT CACHED
Views: CACHED

Drivers
Broadcasting: log
Cache: database
Database: pgsql
Logs: stack / single
Mail: log
Octane: swoole
Queue: redis
Session: database

Storage
public/storage: NOT LINKED

Statamic
Addons: 7
Sites: 4 (English, Spanish, Ukrainian, Portuguese)
Stache Watcher: Disabled
Static Caching: Disabled
Version: 5.66.0 PRO

Statamic Addons
appswithlove/statamic-one-click-content-translation: 5.2.3
daun/statamic-widget-collection-count: 1.3.3
doefom/statamic-export: 0.6.5
mitydigital/statamic-two-factor: 2.7.2
sortarad/extraextra: 1.0.1
statamic/eloquent-driver: 4.32.0
teamnovu/statamic-unused-assets: 2.0.2

Statamic Eloquent Driver
Asset Containers: eloquent
Assets: eloquent
Blueprints: eloquent
Collection Trees: eloquent
Collections: eloquent
Entries: eloquent
Fieldsets: eloquent
Form Submissions: eloquent
Forms: eloquent
Global Sets: eloquent
Global Variables: eloquent
Navigation Trees: eloquent
Navigations: eloquent
Revisions: eloquent
Sites: eloquent
Taxonomies: eloquent
Terms: eloquent
Tokens: eloquent

Installation

Existing Laravel app

Additional details

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions