You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
In FilamentPHP, every Livewire request updates the entire component, causing unnecessary queries to execute—especially when dealing with forms that depend on multiple relationships.
For example, I have a FAQs repeater field in a form with 11 relationship models. Every time I click "Add FAQ," all relationship-related fields are also updated, as observed through Laravel Telescope. This leads to 11+ unnecessary queries per action, significantly slowing down the form's responsiveness in production.
Describe the solution you'd like
A way to isolate the repeater field so that only the repeater component is updated without triggering unrelated queries. Some possible solutions:
Livewire Optimization: Prevent unnecessary component-wide updates when interacting with repeaters.
Alpine.js Enhancement: Replace the repeater’s "Add/Remove" feature with Alpine.js, allowing client-side modifications without Livewire reactivity until submission.
Describe alternatives you've considered
Currently, a workaround is to use Lazy Loading (->lazy()) for relationship fields or manually overriding dependencies, but this does not fully resolve the issue. Using Alpine.js for repeater interactions would significantly improve performance.
Additional context
This enhancement would greatly optimize complex forms with repeaters in FilamentPHP, reducing unnecessary database queries and improving user experience.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Is your feature request related to a problem? Please describe.
In FilamentPHP, every Livewire request updates the entire component, causing unnecessary queries to execute—especially when dealing with forms that depend on multiple relationships.
For example, I have a FAQs repeater field in a form with 11 relationship models. Every time I click "Add FAQ," all relationship-related fields are also updated, as observed through Laravel Telescope. This leads to 11+ unnecessary queries per action, significantly slowing down the form's responsiveness in production.
Describe the solution you'd like
A way to isolate the repeater field so that only the repeater component is updated without triggering unrelated queries. Some possible solutions:
Describe alternatives you've considered
Currently, a workaround is to use Lazy Loading (->lazy()) for relationship fields or manually overriding dependencies, but this does not fully resolve the issue. Using Alpine.js for repeater interactions would significantly improve performance.
Additional context
This enhancement would greatly optimize complex forms with repeaters in FilamentPHP, reducing unnecessary database queries and improving user experience.
Beta Was this translation helpful? Give feedback.
All reactions