Product Decisions This Supports
- Closing a known UX gap in admin/ops tooling. Laravel Nova's
BelongsTo searchable fields are empty on page load — the currently-linked record isn't shown until someone types a search. This package pre-populates the field with the existing related record so editors can see what's already assigned before changing it. That's a small feature, but it directly affects a high-frequency workflow in any back-office app.
- Reducing mis-assignment errors. When a form shows a blank "Customer" or "Account" field even though one is attached, operators either (a) assume nothing is linked and re-link the wrong record, or (b) waste time searching to confirm the current value. Pre-population removes both failure modes. If you have support tickets like "the wrong owner got reassigned," this is a candidate fix.
- Build vs. buy (and here, "neither — vendoring"). The package is MIT-licensed and tiny. The realistic decision isn't "adopt vs. build a competitor," it's "vendor a ~100-line fix vs. write it ourselves vs. do nothing." Given the archived status, treat it as reference implementation, not a dependency.
- Roadmap input on internal admin tooling. This surfaces a broader question worth putting on the roadmap: how much of your ops UI quality is dependent on unmaintained third-party Nova extensions? If the answer is "a lot," that's a platform risk item, not a feature item.
- Use cases where this matters: assigning a support ticket to an existing assignee, editing an order's customer, reassigning a CRM record owner, any admin edit form where a
BelongsTo relation is searchable-by-default and correctness of the existing link matters.
When to Consider This Package
Consider it (as source material, not a dependency) when:
- You are on Laravel Nova 3.x and pinned there — the last release is February 2022, which predates Nova 4, so compatibility with Nova 4/5 is unverified and should be assumed broken until proven otherwise.
- You're already paying the Nova license and can't easily override field behavior through official extension points.
- You have a small number of
BelongsTo searchable fields where the blank-on-load behavior is genuinely causing operator errors.
- You're comfortable vendoring the code into your app, pinning it, and owning it — MIT + archived means forking is the intended path, not an edge case.
Look elsewhere / don't adopt when:
- You're on Nova 4 or 5. An archived package with a 2022 release is not a safe bet against Nova's internal field APIs. Verify against your exact Nova version or don't start.
- You want a maintained dependency. Archived + 37 stars + no recent releases means no security patches, no framework-version updates, and no upstream support. Your team absorbs all of that.
- The fix can live in your own field class. If your team already has custom Nova fields or resource tooling, a local
BelongsTo subclass is likely cheaper than integrating and maintaining a fork.
- You can change the UX instead. Sometimes the right product answer is to make the relation non-searchable, add a separate read-only "currently assigned" display, or show the value in the index table where operators actually look. That may solve the problem without touching field internals.
- You're evaluating this for a client deliverable with long-term support expectations. Archived packages raise a legitimate "who maintains this in 18 months?" objection during handoff.
Adoption hygiene if you do proceed: vendor it, add a comment block naming the upstream commit you copied from, write a regression test asserting the pre-populated value renders, and add a calendar reminder to re-evaluate whenever you upgrade Nova.
How to Pitch It (Stakeholders)
For executives — one paragraph:
This is a small, free, MIT-licensed add-on for our admin panel that fixes a specific usability defect: edit screens currently show an empty field where an existing assignment should appear, which causes operators to re-search unnecessarily and occasionally re-assign the wrong record. It's a low-cost, low-risk improvement — but the original author has archived it, so we'd copy roughly a hundred lines into our own codebase rather than depend on it. Recommendation: adopt the behavior, not the package. No license cost, a few hours of engineering time, and we own the maintenance.
For engineering — the ask:
Nova's searchable BelongsTo fields don't display the currently-attached record on load. This package (archived, last release Feb 2022, MIT) demonstrates the fix. Don't add it as a Composer dependency — vendor or reimplement it locally, confirm it works against our Nova version, and add a test covering the "existing relation is visible before searching" case. If the reimplementation exceeds a day, escalate: that's a signal our Nova customization layer needs attention, not that we should fight this.
Risks to state plainly in the pitch:
- Archived upstream, ~3.5 years since last release, low adoption (37 stars) — assume zero support.
- Built against Nova 3-era internals; Nova 4/5 compatibility unverified.
- Mitigated by: MIT license, small code surface, local vendoring, and a test that fails loudly on Nova upgrades.