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 Table Field

Nova Table Field Laravel Package

optimistdigital/nova-table-field

A Laravel Nova field that renders editable tables directly in your resources, letting you manage rows and columns of data without leaving the Nova admin panel. Ideal for storing structured, repeatable data in a single field.

View on GitHub
Deep Wiki
Context7

Table field for Laravel Nova

Frequently asked questions about Nova Table Field
How do I install optimistdigital/nova-table-field in Laravel Nova?
Install it with composer require optimistdigital/nova-table-field, then register the field in the Nova resource that should own the table. You also need a json or text column on the parent table and a model cast so Nova can read and write the payload. There is no complex service provider setup beyond that, so a working proof of concept usually takes under a day, while a production-ready version with validation, a read path, and tests is a one to two day job.
Which Laravel, PHP, and Nova versions does nova-table-field support?
Version constraints are declared in the package composer.json, so check that file against the Laravel, PHP, and Nova major you actually run. Confirm that prebuilt frontend assets are committed for your Nova major, since Nova's frontend has changed between releases. Treat any release date or compatibility claim as unverified until you check Packagist tags and the commit log.
How does nova-table-field store table data in the database?
Rows persist as a single JSON column on the parent record, not as related database rows. The field renders a code-configured column schema and serializes the table contents into that column. That makes it a good fit for ancillary configuration owned by one record, but not for data other systems need to join or aggregate.
Can I query, filter, or aggregate rows stored with nova-table-field?
No. Because the table lives in a JSON blob, you cannot join, filter, aggregate, or enforce foreign keys against individual rows in SQL. If reporting or downstream queries need to touch those rows, model them as a proper Eloquent entity with its own table and Nova resource instead. This field is the wrong tool once rows become domain entities rather than configuration.
How do I define the columns for a Nova Table Field?
Columns are defined in code inside the Nova field, which means the schema can be versioned in your repository and reviewed like any other change. That is safer than payload-defined columns, but it also means you must plan for drift between the current column definitions and rows already persisted. Document a versioned JSON contract and consider a migration or normalization step when columns change.
Does nova-table-field handle validation of table rows?
Validation is largely your responsibility. There are no database constraints on a JSON column to catch bad data, so add server-side rules in a FormRequest or model layer and enforce row-count limits there too. Treat the field as an editor, not a validator, and test the read path against malformed payloads.
How many rows can nova-table-field handle before performance degrades?
Plan for tens of rows per record, not thousands. The admin UI degrades as row counts grow, and because the whole table loads and saves as one payload there is no database-level pagination. Enforce a ceiling in validation and state it explicitly in the data contract.
Is nova-table-field actively maintained and safe for production?
The package is maintained by a small agency with roughly 40 stars and effectively no dependents, so there is no community validation or SLA. That does not make it unusable, but it does mean you should read recent commits and issue activity before adopting and keep a fork-and-vendor fallback in mind. Register it in your dependency register with an owner and a review date.
Can nova-table-field block a Laravel Nova upgrade?
Yes, indirectly. Nova is closed-source commercial software and has shipped breaking frontend changes between majors, so a third-party field that lags behind can block your whole Nova upgrade across every admin surface. Treat nova-table-field as a program-level upgrade gate rather than a routine composer bump, and test Nova upgrades in staging with the field installed.
What are alternatives to nova-table-field for repeatable structured data?
For repeatable structured data that needs querying, reporting, or referential integrity, use a related Eloquent model with its own Nova resource and a HasMany relationship. For ancillary per-record configuration where a JSON column is genuinely appropriate, this field is a low-cost option. The decision is cheap to reverse: one column, one cast, and one field registration.
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.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections