- How do I install flexpik/filament-studio in a Laravel app?
- Install it with composer require flexpik/filament-studio, then publish and run the package migrations and register the Studio plugin in your Filament panel provider. Because Studio ships its own EAV tables, you publish those once during setup instead of writing a migration per collection. Check the README for the exact publish tags and panel registration snippet.
- Does Filament Studio really avoid migrations for new collections?
- Yes. Collections and fields are stored as data inside the plugin's EAV tables, so creating a collection or adding a field at runtime requires no new migration. You still run the package's initial migrations once when installing. That is what makes Studio practical for SaaS features or CMS content types that change frequently.
- Which Laravel and Filament versions does Filament Studio support?
- Filament Studio targets Laravel 11 or newer and requires Filament v5 as its admin panel dependency. It is not usable in projects that do not already run Filament, since the forms, tables, and actions are all Filament components. Pin your Filament version and watch for plugin releases when Filament ships a major update, as the plugin can lag behind.
- What field types can I define in a Filament Studio collection?
- Studio ships with 33 field types out of the box, covering the usual text, numeric, date, boolean, select, and relationship inputs. Each field is configured visually in the panel, including validation rules and display options. The plugin also supports custom field types and lifecycle hooks if you need domain-specific inputs.
- How does the EAV storage engine affect query performance?
- EAV stores each field value as its own row, so listing records means joining against the values table, and that cost grows as a single collection gets large. Filament's built-in caching helps for dashboards and repeated reads, but benchmark with a representative dataset before committing. Community guidance suggests EAV scales poorly past roughly a million records per collection, so plan around that ceiling.
- How does multi-tenancy work in Filament Studio?
- Tenant scoping is enforced at the storage layer, so collections, records, and values are isolated per tenant, which matters for B2B SaaS and shared-hosting setups. Filament's permission checks layer on top of that isolation for UI-level access control. Audit tenant boundaries early with realistic test data to confirm there is no cross-tenant leakage.
- Can I query Studio collections from my own Eloquent models and custom code?
- Yes. Collections are Eloquent-backed, so you can query them with relationship patterns such as whereHas('values') when you need logic outside the generated Filament tables. This does require understanding the EAV structure rather than a flat table. For heavy reporting, consider dedicated read models or cached aggregates instead of raw EAV joins.
- What is the MCP server in Filament Studio and do I need it?
- The Model Context Protocol server lets AI agents such as Claude or Cursor inspect and interact with your data model using natural language. It is optional and works best when adopted for simple, well-scoped workflows first. Teams that are not pursuing AI-driven tooling can ignore it entirely without losing core functionality.
- When should I avoid using Filament Studio or EAV in general?
- Avoid Studio if your app relies on static Eloquent models with stable schemas, if your queries are performance-critical and cannot tolerate EAV joins, or if you are not already using Filament. It fits configurable SaaS features, CMS content types, and internal tools where fast admin iteration matters more than raw query speed. Weigh the integration and maintenance cost against the flexibility you actually need.
- How do I back up, version, or roll back schema changes made in Studio?
- Studio has no native migration system for collections, so any versioning features help but are not a substitute for backups. Take database backups before large schema changes in production and rehearse rollback scenarios in staging first. Exporting collection definitions is also wise so you can recreate structures if something goes wrong.