Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Nova Nested Form Laravel Package

yassi/nova-nested-form

A Laravel Nova field that embeds nested relationship forms directly inside a parent resource form, letting you create and edit related models inline without leaving the page. It simplifies complex data entry by keeping nested forms and validation within the main Nova workflow.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy vs. fork for admin tooling. This package answers "do we hand-roll a nested-form field in Nova, or start from OSS?" With 239 stars, a single maintainer, zero dependents, and a last release of May 2021, the honest answer is spike on it, then budget a fork — not adopt as a dependency. That framing forces the decision to account for total cost of ownership instead of just "free on Packagist."
  • Where admin UX investment actually pays back. Inline nested editing earns its keep only where one parent owns an ordered set of children with their own attributes: orders + line items, invoices + charges, quotes, product variants, CMS pages + blocks, event sessions + tickets. If those flows drive admin support tickets or manual rework, this belongs on the roadmap. If admin is mostly flat CRUD, it doesn't.
  • A measurable cycle-time bet. Collapsing "create parent → navigate → create each child → go back" into a single save is a claim you can attach to an OKR: fewer abandoned drafts, fewer orphaned children, less context switching. Treat it as a testable product hypothesis with a before/after time-to-complete, not a UI nicety.
  • Native-first vs. extension-dependent admin strategy. Nova ships first-party relationship handling that covers part of this ground. Deciding whether the admin layer leans on third-party extensions or first-party primitives is a platform call that sets precedent for every future admin feature — far bigger than this one field.
  • A migration trigger. A Nova 3-era codebase, a 2021 release, and no downstream dependents together define a ceiling. That informs three linked decisions: pin the admin stack, own a fork, or treat the admin layer as a candidate for a longer-term move to a stack where nested/repeater forms are native.
  • Risk posture for internal tooling. The package is best evaluated as internal, low-blast-radius tooling. Deciding where on the customer-facing-to-internal spectrum this lands is itself the decision — it changes how much of the risk below you're willing to accept.

When to Consider This Package

Consider it when all of these hold:

  • You are on Laravel Nova 3, or can verify compatibility on a throwaway branch. The 2021 component targets Vue 2; Nova 4/5 ships Vue 3, so support is unlikely without patching.
  • The surface is internal, low-blast-radius admin, where a broken field degrades an internal workflow rather than a customer-facing product.
  • Your dominant data-entry pattern is genuinely nested — one parent, ordered children with their own attributes — and users currently pay a multi-screen tax to enter it.
  • You have capacity to fork and own the field. The code surface is roughly one PHP class and one Vue component, which makes owning it cheap; passively consuming it is what's expensive.
  • You need the behavior in weeks, and the realistic alternative is one to three weeks of custom Nova field work plus its own maintenance tail.

Look elsewhere when:

  • You are on Nova 4/5, or an upgrade is on the roadmap within the next two quarters. The port likely costs more than the feature is worth, and the failure mode is quiet: the field renders nothing, the nested key is dropped from the payload, the save appears to succeed, and every child row is deleted.
  • You need per-child authorization. Child policies are generally not evaluated — anyone who can edit the parent can typically create and delete children. That's a hard blocker for multi-tenant, regulated, or externally-facing admin.
  • The data model is polymorphic-first or pivot-heavy. BelongsToMany with meaningful pivot columns (quantity, role) isn't a first-class path here; model the pivot as a first-class child with two belongsTo relations instead.
  • You need more than two levels of nesting, drag-and-drop ordering, or file uploads inside child rows — all are either absent or fragile.
  • Atomicity is non-negotiable and you can't add it at the HTTP layer. The field performs N child writes in one request without guaranteeing a transaction. A middleware wrapper is cheap, but if your stack can't accommodate it, walk away.
  • The child records are commercially or legally significant (financial line items, audit-relevant records). Omitted children are deleted on save with no confirmation — so soft deletes, a deleting observer, and an audit log become prerequisites, not nice-to-haves.

How to Pitch It (Stakeholders)

For executives — the one-paragraph version. Our admin users currently create parent records and their child records across multiple screens, which is slow and produces half-finished data. This open-source Nova field collapses that into one form and one save. The build-vs-buy math is favorable: one to three weeks of custom work avoided, for a spike plus an ongoing fork we own. But it is a four-year-old, single-maintainer package that only works on Nova 3 — so we're proposing to adopt-and-own it, pinned and forked, on internal admin screens only. Not a strategic dependency, and not on any customer-facing surface.

For engineering — the operating constraints. Treat this as a Nova 3 playbook. Install pinned with an explicit version constraint and a committed lockfile. Keep NestedForm on onlyOnForms() and native HasMany on onlyOnDetail() so the two never fight over the same attribute. Extract child field definitions into a class we own so swapping the vendor namespace for App\Nova\Fields\NestedForm is a one-line change. Wrap Nova writes in a transaction middleware. Add soft deletes plus a deleting observer that logs actor, parent, and payload — that single pattern converts silent data loss into a recoverable, investigable event. Write the HTTP-level test that submits one of two existing children and asserts what happened to the other; that test is our living spec for delete semantics and the thing that catches a regression after any fork.

What we're explicitly not claiming. We're not claiming Nova 4/5 readiness, per-child authorization, reliable sortable ordering, or robust file uploads inside nested rows. Each of those is a documented gap with a workaround, and each workaround is scoped as part of the estimate — not discovered later. The deliverable includes a one-page runbook covering delete semantics, authorization behavior, transaction wrapping, and escalation, written during the spike rather than after rollout.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core