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 Attach Many Laravel Package

blendbyte/nova-attach-many

blendbyte/nova-attach-many provides a Laravel Nova field for managing many-to-many relationships: search and select multiple related records from a modal, attach or detach them, and keep resource forms clean and efficient. Ideal for BelongsToMany fields in Nova.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

Build vs. buy for admin relationship UIs. This package answers a recurring PM question directly: do we spend sprint capacity building a custom Nova field for attaching related records, or adopt a maintained MIT package for roughly a half-day of integration? For internal back-office panels, the buy side usually wins — the picker mechanics (search, selection, sync feedback) are undifferentiated, while the genuinely valuable work is defining who may attach what and under what constraints.

Roadmap sequencing for relationship-management surfaces. Tags, roles, categories, user-to-team membership, line items — every one of these is a many-to-many surface. This package moves that roadmap item from "multi-week custom build" to "half-day wiring job," letting the team spend the recovered time on validation rules, policy design, and search scoping. That is a schedule decision as much as a technical one.

Permission and data-governance modeling. Nova policy support (attach/detach on the related resource) and validation mean the product question "who can attach what, under what eligibility rules" is enforceable at the UI layer from day one. Decide this explicitly before integration rather than retrofitting restrictions after operators have built habits.

Nova 5 migration gating. The package is a fork explicitly maintained for Nova 5. If your upgrade plan hinges on preserving a searchable BelongsToMany attach experience, this determines whether the Nova 5 move is unblocked or requires a custom stopgap.

Operator trust in search results. The 2.0.1 patch fixes how relatable query filter methods are resolved — the plumbing behind which records appear as attachable candidates. This is a correctness fix, not polish: it governs whether "the record isn't in the list" reliably means "it isn't attachable." Any tenant-, team-, or role-scoped attach flow should be re-verified against 2.0.1 before rollout, and adoption should be pinned to ^2.0.1, never 2.0.0.

Support-load and operational cost. Search plus sync notifications directly reduce the "I attached the wrong thing" and "I can't find the record" tickets that consume ops time. This is the easiest line of the ROI case to defend because it is measurable.

Dependency portfolio risk acceptance. Twelve stars, zero dependents, and a fork lineage mean adoption is a conscious decision to carry concentration risk. The 2.0.1 release adds a second outside contributor and demonstrates an active patch cadence on the Nova 5 fork — a marginal positive for continuity, not a change to the risk classification. Treat it as code you may inherit, not a service you subscribe to.

When to Consider This Package

Consider adoption when:

  • You are on Laravel Nova 5 and the native BelongsToMany field does not deliver search, validation, or policy enforcement at the quality your operators need.
  • Your attach flow depends on relatable/query-filter scoping (tenant, role, ownership) — precisely the area 2.0.1 repairs. Adopt at 2.0.1 or later and add a test covering your specific filter configuration before shipping.
  • The consumer is an internal admin/ops panel, not a public-facing or revenue-critical surface, so a small dependency's blast radius is tolerable.
  • You want policy-driven attach permissions enforced consistently rather than reimplemented per resource.
  • You want operator feedback on sync (attach/detach notifications) to cut mistakes and support load.
  • Your pivot carries no extra attributes — the package creates pivot rows but offers no pivot editor. Anything requiring roles, quantities, or dates on the pivot belongs in a dedicated pivot resource or a Nova action.
  • You can commit to pinning ^2.0.1, keeping a smoke test on the attach flow, and monitoring the repo. MIT licensing makes vendoring or forking a viable fallback.

Look elsewhere when:

  • You are on Nova 4 or earlier — use the upstream dillingham/nova-attach-many; mixing both causes namespace and asset-publishing collisions.
  • You need vendor SLAs, security response commitments, or commercial support. A 12-star package cannot supply them.
  • The attach flow is central to the product — customer-facing, high-volume, or audit-critical. Build and own it, or wrap it behind an abstraction you control.
  • The native Nova field already satisfies your UX. Marginal polish is not worth a dependency.
  • Your team cannot absorb a fork if upstream maintenance lapses.
  • You need MorphToMany or HasMany support, bulk import, pivot-attribute editing, or approval workflows. Scope is BelongsToMany attach UIs only.

How to Pitch It (Stakeholders)

For executives: This is a small, MIT-licensed UI component that removes a build item from the roadmap. Instead of engineering a bespoke "attach related records" screen for our Laravel Nova admin panel, we integrate a maintained package in roughly half a day and redirect the saved sprint time to permission rules and validation — the work that actually governs who can change what. The trade-off is concentration risk: low adoption, fork lineage, no commercial support. We mitigate by pinning the version, keeping an automated smoke test around the attach flow, and accepting that we may inherit the code if upstream maintenance stops. Recommended for internal admin tooling only, not customer-facing surfaces.

For engineering: A Nova 5 field for managing BelongsToMany relationships inside a resource form — searchable candidate list, policy-gated attach/detach, sync notifications. Install at ^2.0.1 (2.0.0 carries a filter-resolution bug that can silently change candidate lists). Confirm the fork namespace (Blendbyte\NovaAttachMany\AttachMany) and fluent methods in src/AttachMany.php before writing resource code — inherited conventions drift. Prefer constraining the relationship (wherePivot, scoped relation) over patching the field. Keep showCounts() for large relationships; showPreview() can N+1. Validation lives on the related resource, not in the field. Budget for one integration smoke test and a Dusk or feature test hitting the attach endpoint so a Nova minor bump fails loudly.

For operations: Admins get a searchable attach interface on the detail page with confirmation feedback on every attach and detach. Permission rules are enforced by existing Nova policies. Known limitation to communicate up front: pivot attributes are not editable here — if a relationship needs extra data per link, it uses a different surface.

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.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource