dillingham/nova-attach-many
A Laravel Nova field for attaching many related models to a BelongsToMany relationship in one modal. Search, paginate, and create records inline, then attach or detach them without leaving the form. Includes customizable display, authorization, and pivot support.
^2.0 targets Nova 4; 1.x is frozen for Nova 3. Teams still on Nova 3 either defer adoption or carry a second coupled migration. That belongs in the upgrade plan, not as an incidental sprint task.Consider it when:
1.x or defer—2.0.0 does not apply.Look elsewhere or build internally when:
BelongsToMany field or a dedicated pivot resource.For executives: This is a low-cost, admin-facing accelerator. It improves how internal users attach related records in Laravel Nova 4 by replacing clunky multi-selects with a searchable modal and one-click attach/detach. The business case is operator efficiency and faster delivery of internal tooling—not a new customer-facing capability. The main risk is dependency maintenance: single maintainer, no SLA, and a 2022 release. Mitigate by treating it as tactical, pinning the major, and keeping a one-line fallback to Nova’s native field. Recommend a limited pilot on one or two resources, with a fork owner named before broader adoption.
For engineering: Adopt only on Nova 4 via ^2.0; Nova 3 stays on frozen 1.x. The field must resolve to a BelongsToMany relationship, the related Nova resource needs a usable $title and $searchable, and authorization is gated by Nova policies—missing attachAny<Relationship> or viewAny usually looks like an empty modal. Default to ->onlyOnDetail() until form-submit behavior is verified against the 2.0.0 source. Add a unique index on the pivot table; the UI does not enforce uniqueness. Test the write path with assertDatabaseHas / assertDatabaseMissing, not by eyeballing the UI. Budget roughly a day per quarter plus a defined block on every Nova upgrade, and run a post-deploy smoke check on one representative resource.
How can I help you explore Laravel packages today?