tardigrades/sexy-field-doctrine
Doctrine ORM integration for SexyField, letting you map and persist SexyField form fields on Doctrine entities. Provides field types and storage hooks so apps can use SexyField with Doctrine instead of Eloquent, keeping entity metadata and form definitions in sync.
dionsnoeijen/sexy-field, a flexible field system (typed, validated custom fields attached to models, stored EAV-style). It exists to answer a single product question: can we offer user-defined fields on top of our domain entities without migrating to Eloquent? That is directly relevant to CRM, project management, forms, and any multi-tenant SaaS where customers configure their own schema.Consider it only when all of the following hold:
sexy-field on the Eloquent side and want parity for Doctrine entities — otherwise you're adopting two unmaintained dependencies to solve one problem.Look elsewhere when any of these are true:
spatie/laravel-schemaless-attributes, Doctrine json types, or embeddables cover most "custom fields" needs with first-party support and far lower TCO.To executives: This is a small, MIT-licensed integration package with no adoption — no stars, no downstream users, one maintainer. It is not a dependency to standardize on, but it is a free, low-cost probe into whether we should build flexible custom fields into our product. Recommendation: fund a short, timeboxed spike that reads this package and its parent, validates the EAV approach against our actual query patterns, and returns a build-vs-buy recommendation — with a default bias toward native JSON columns or an in-house typed-field layer. Risk of skipping it: near zero. Cost of adopting it blindly: an unmaintained dependency in our domain layer.
To engineering: Treat tardigrades/sexy-field-doctrine as reference material, not a dependency. It shows one workable shape for attaching typed, validated custom fields to Doctrine entities in Laravel. Read it, benchmark the storage model, then decide: (a) fork and own it, (b) implement the pattern natively on Doctrine JSON/embeddable types, or (c) drop Doctrine-specific flexibility entirely. Whatever we choose, we should be able to articulate why EAV beats JSONB (or vice versa) for our query and indexing profile — the package itself doesn't answer that for us.
How can I help you explore Laravel packages today?