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

Filament Belongs To Many Laravel Package

wotz/filament-belongs-to-many

A Filament form field for managing belongsToMany relationships with a searchable, sortable multi-select UI. Attach and detach related records inline, with support for pivot data and custom labels. A lightweight alternative to the default relationship component, built for Laravel and Filament v3+.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for admin CRUD surface area: If your roadmap includes back-office tooling on Filament, this package is a candidate to close a small but recurring gap — a first-class many-to-many (HABTM) form field — instead of hand-rolling a custom field component for each admin resource.
  • Feature scoping for internal tools: Justifies deferring "richer relationship UX" (tag pickers, checkbox matrices, dual-list assignment) out of your own backlog by adopting an existing, narrow-scope field instead of building it.
  • Roadmap sequencing for admin-heavy products: Lets you ship categorization/tagging/permission-style assignment screens earlier in a release cycle, since the field is a drop-in rather than a multi-sprint component build.
  • Use-case fit to validate before commitment: Strongest for simple, pivot-attribute-free relations (tags, categories, labels, audience lists). Weak for relations that need pivot metadata, ordering, or per-assignment state — those belong in a custom pivot model with a dedicated relation manager, not this field.
  • Vendor/portfolio triage: Zero stars and zero dependents means this is an evaluate-and-fork candidate, not a standardize-on-it candidate. The PM decision is less "adopt" and more "budget a half-day spike, then decide whether to vendor the code in-tree."
  • Dependency-policy precedent: Choosing this sets a precedent for accepting single-maintainer packages in the admin layer. That's usually acceptable for narrow, MIT-licensed UI fields — but it's a policy call worth making explicitly rather than by accident.

When to Consider This Package

Consider it when all of the following hold:

  • Your stack is already Laravel + Filament, and the gap you're filling is specifically a simple many-to-many field in a form (not a table column, not a relation manager).
  • The relationship is pivot-free or pivot-agnostic — you don't need extra columns on the join table, ordering, or per-link metadata.
  • The consumer is internal users or low-blast-radius admin screens, where a UI regression is an inconvenience rather than a customer-facing incident.
  • You're comfortable pinning a version, reading the source (it's small), and forking if needed — or you plan to copy the component into your codebase outright.
  • The option set is bounded (tens to low hundreds of records), so a checkbox/tag-style control is usable without server-side search and pagination.
  • You've confirmed the package's Filament major-version compatibility against your pinned Filament version — this is the single most common failure mode for Filament add-ons.

Look elsewhere (or build in-house) when:

  • The relation needs pivot attributes, ordering, or lifecycle hooks — use a custom pivot model plus Filament's native relationship tooling.
  • You need maintenance guarantees: security response, Filament v-next support, or an SLA. Zero dependents and zero stars means no community canary; you are the canary.
  • Your dataset is large or searchable, requiring async search, pagination, or authorization-scoped option lists.
  • You require multi-tenancy, policy-aware filtering, or audit trails on assignments — that logic belongs in your domain layer, and a thin field won't cover it.
  • You're not on Filament, or you're on a Filament version the package doesn't target — the integration cost then exceeds the build cost.
  • Your org has a strict dependency-approval process with maintenance/activity thresholds; a single-maintainer, zero-adoption package will likely fail review regardless of code quality.

How to Pitch It (Stakeholders)

To executives: This is a small, MIT-licensed UI component that fills a known gap in our admin framework — it lets operators assign many-to-many relationships (tags, categories, audiences) without us building and maintaining a custom field. The upside is schedule: days of admin-panel work removed from the current cycle at effectively zero licensing cost. The risk is also small and containable: the code is narrow enough to fork into our repo, so we are never locked in. Recommendation is a timeboxed spike (≤1 day), not a platform commitment.

To engineering: Treat it as a reference implementation and possible vendored component, not a dependency. It provides a HABTM form field that Filament doesn't ship natively for the simple, pivot-free case. It has no adoption signal — no stars, no dependents, single maintainer — so we pin it, read it, and be prepared to own it. Plan to: verify Filament version compatibility, write a couple of feature tests around assignment persistence and authorization scoping, and confirm behavior with large option sets. If any of those checks are uncomfortable, we copy the component in-tree and drop the dependency.

Bottom line: Low cost, low risk, modest but real time savings — worth a spike, not worth standardizing on.

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.
andydefer/laravel-notification
adachsoft/cli-process-tester
jhaskell13/laraflow
sebastienheyd/boilerplate-media-manager
ccast/tagixo-primix
pretendtrue/laravel-builder
sawmainek/laravel-scout-tntsearch-driver
tomshaw/laravel-calendar-table
dibakar/laravel-ownership
steadrun/laravel-monitor
labyrinthe/connect-laravel
elmogy/layan
drewdan/sentinel-client
dskripchenko/laravel-llm
fatryst/nuonuo
stevenay/myanfont
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc