nova-kit/nova-field-mixins
Laravel Nova Field Mixins
Maintainers
v3.0.1
2026-03-19 23:00 UTC
Requires
- php: ^8.1
- illuminate/support: ^10.34|^11.0|^12.0|^13.0
Requires (Dev)
- laravel/nova: ^5.2
- laravel/nova-devtool: ^1.6
- laravel/pint: ^1.20
- orchestra/pest-plugin-testbench: ^2.0|^3.0|^4.0
- phpstan/phpstan: ^2.1
Suggests
None
Provides
None
Conflicts
- laravel/nova: <5.2.0|>=6.0.0
Replaces
None
MIT 30f08796a377f465a218f8ada4a74759089b4793
- Mior Muhammad Zaki <crynobone.woop@gmail.com>
README
👁 tests
👁 Latest Stable Version
👁 Total Downloads
👁 Latest Unstable Version
👁 License
👁 Coverage Status
Installation
To install through composer, run the following command from the terminal:
composer require "nova-kit/nova-field-mixins"
Usages
Laravel Nova Field Mixins are useful for applying a common set of configurations to a Field without repeating it. E.g:
use Laravel\Nova\Fields\DateTime; DateTime::make('Created At')->sortable()->displayUsing(fn ($d) => $d?->diffForHumans()), DateTime::make('Updated At')->sortable()->displayUsing(fn ($d) => $d?->diffForHumans()),
By adding the following class App\Nova\Fields\Mixins\StandardDateTime:
<?php namespace App\Nova\Fields\Mixins; use Laravel\Nova\Fields\Field; class StandardDateTime { public function __invoke(Field $field) { $field->sortable()->displayUsing(fn ($d) => $d?->diffForHumans()); } }
You can now write the above example as:
use App\Nova\Fields\Mixins\StandardDateTime; use Laravel\Nova\Fields\DateTime; DateTime::make('Created At')->apply(StandardDateTime::class), DateTime::make('Updated At')->apply(StandardDateTime::class),
Available Mixin
Handle AsArrayobject Cast
This package provides a default implement casting for AsArrayObject.
use Laravel\Nova\Fields\Text; use NovaKit\Fields\Mixins\AsArrayObject; Text::make('Name', 'profile.name')->apply(new AsArrayObject()),
You can also simplify this by using fromArrayObject macro.
use Laravel\Nova\Fields\Text; Text::make('Name', 'profile.name')->fromArrayObject(),
