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

Calculated Field Laravel Package

codebykyle/calculated-field

A Laravel package for defining calculated fields on Eloquent models. Declare attributes that derive their values from other model properties, and the package keeps them updated automatically when the model is saved—no manual recalculation or custom observers required.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Admin/ops tooling scope — Enables derived, read-only columns (rollups, totals, status derivations, computed flags) inside Laravel Nova resources, which means internal tools can surface business logic without new database columns or ETL work. This directly supports decisions about how much to invest in Nova as the internal back-office surface versus building custom admin UIs.
  • Build vs. buy (and buy vs. fork) — The package is a thin wrapper around a single Nova field concept. That makes it a useful reference implementation when deciding whether to write ~100 lines of in-house Calculated field code versus adopting a dependency. For most teams the honest answer is "reimplement or vendor," and this package is the specification for what to build.
  • Roadmap for internal dashboards — Supports deferring denormalization and materialized columns: teams can ship computed metrics to support/sales/ops users quickly, then promote a metric to a persisted column only when query cost or correctness demands it. This is a cheap way to validate which derived metrics stakeholders actually use before committing schema.
  • Support and finance tooling use cases — Computed order totals, lifetime value approximations, SLA/age counters, relationship counts, and "needs attention" flags rendered server-side rather than trusting client input or duplicating logic in Blade.
  • Risk triage decision — Because the package is archived (last release 2019), its presence in the dependency graph is itself a decision input: it should be treated as a pattern to adopt, not a component to depend on, unless pinned and vendored.

When to Consider This Package

Consider it when:

  • You are already running Laravel Nova, and specifically a Nova version contemporary with the 2019 release (Nova 1.x/2.x era). Compatibility with Nova 4/5 and PHP 8+ is not established and should be assumed broken until verified.
  • The tool is internal-facing, low blast radius, and a read-only display concern — an admin panel, not a customer-facing product surface.
  • You want to avoid schema churn for metrics that are still being validated by stakeholders.
  • You are evaluating the pattern — server-side computed field values — as a reference for a custom field you'll maintain yourself.

Look elsewhere (or fork) when:

  • You are on a maintained Nova version, PHP 8+, or have any security/patch expectation. Archived dependencies are a liability on any surface that touches sensitive data.
  • The computation is expensive or relation-heavy: calculated fields that fire per-row can produce N+1 query behavior, which is a scaling and UX problem Nova won't solve for you.
  • You need sorting, filtering, or exporting on the computed value — a display-only field typically can't participate in Nova's query layer, so the metric looks authoritative while being unsortable and unsearchable.
  • You are not on Nova at all. The concept transfers; the package does not.
  • Correctness is auditable/regulated. A computed display value that diverges from the source of truth is a reconciliation incident waiting to happen; persist it with an explicit owner instead.

How to Pitch It (Stakeholders)

For executives: This is a small, free, internal-tooling component that lets our operations and support teams see derived numbers — totals, counts, aging — in the admin panel without engineering building a bespoke dashboard each time. It carries essentially no licensing cost and its scope is deliberately narrow. The caveat is that it is unmaintained software from 2019; we would adopt its approach rather than the package itself. Net recommendation: treat it as a two-day internal experiment or a design reference, not a strategic platform investment.

For engineering: The package is a server-side computed Nova field — a thin, single-purpose abstraction. It's archived, has ~47 stars, and hasn't shipped since October 2019, so assume no compatibility with current Nova or PHP. We should read it, then implement the equivalent as an in-house Nova field we own, or vendor and pin it if we're on a legacy Nova install. Budget roughly half a day for the reimplementation. Flag any per-row query cost before rollout, and be explicit that these values are display-only and not sortable, filterable, or exportable.

Ask: Approve a timeboxed spike to reproduce the computed-field pattern internally on the current Nova version, with a short write-up on query cost and whether any metric justifies being persisted.

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.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle