opifer/eav-bundle
Opifer EAV Bundle brings Entity-Attribute-Value modeling to Symfony and Doctrine apps, letting you attach dynamic, configurable attributes to entities without changing their schema. Define attributes, store values, and manage flexible data.
json casts, Postgres jsonb + GIN indexes), a purpose-built maintained custom-fields package for Laravel, or a document store. EAV is one point on that spectrum, and usually not the first one to reach for.Consider the pattern (via this code as reference) when:
Look elsewhere — do not adopt this package — when:
VARCHAR/TEXT with type info in a metadata row, so FKs, uniqueness, and type safety live in application code. That is a real, permanent maintenance tax.To executives — one paragraph: "Custom fields" is one of our most requested capabilities, and this package shows the standard way to model it. It is not something we should install: it was last released in 2016, is officially archived, and has no users depending on it — and it's built for Symfony, not our Laravel stack. The good news is it's MIT-licensed, so we can read it freely. My recommendation is a short spike to extract the schema design, then build a thin internal custom-fields layer on our own stack, most likely on JSON columns with a metadata table. That keeps us off a dead dependency while still delivering the feature. Cost is a contained piece of work inside the existing epic; the licence and the age of the code mean no procurement or legal work is needed.
To engineering — the summary:
attributes metadata table (entity type, key, type, required, validation, ordering, tenant scope) plus values in a JSON column on the entity, with generated/functional indexes for the filterable subset. This avoids the row-explosion and join-depth problems that make pure EAV painful to query and report on.opifer/eav-bundle as a dependency.How can I help you explore Laravel packages today?