wamesk/laravel-nova-json-field
A Laravel Nova field for working with JSON columns. Display and edit structured JSON data directly within Nova resources, making nested or complex attributes easier to manage without building custom tooling for your admin panels.
composer require wamesk/laravel-nova-json-field) and let Nova discover the field; run nova:publish only if your Nova version/setup requires publishing field assets.fields() method and point it at the JSON column, e.g. a settings or configuration column on the model.dependsOn examples. Those two features define how day-to-day usage works: named inputs map to JSON keys, and dependsOn rebuilds the form when another field changes.'settings' => 'array' or AsArrayObject) and confirm existing rows contain {} rather than [] or null. Release 1.2.2 handles the null case, but clean data avoids surprises.dependsOn for conditional schemas — for example, showing different configuration inputs based on a selected device type or template. The dependent field should be the one that genuinely determines the structure, not a cosmetic label.dependsOn sync compares only field IDs. Changing a template name preserves the user’s edits; changing the actual device type rebuilds the structure and intentionally resets values. Design your forms around that distinction.fillUsing / resolveUsing, ensure the value passed for storage is a JSON object, not a PHP list.null/[] values to an empty object before the field reads them.dependsOn sync.[], which serializes to a JSON array. JSON.stringify then drops the named properties set by the form, so the request sends []. If a create form appears to ignore input, inspect the request payload first.{}. [] indicates the old behavior or a misconfigured cast/default.null/[]/{}; then check the field schema and the field IDs used by dependsOn.composer.json and add a regression test that creates a record with no existing JSON value and asserts the named inputs persist.dependsOn configuration as the main extension points; reach for custom fillUsing/resolveUsing only when the built-in mapping cannot express your structure.How can I help you explore Laravel packages today?