alitnk / nova-parental-field
A Laravel Nova field for single-table inheritance (Caleb Porzio's "Parental" package)
v1.0.0
2021-07-08 14:21 UTC
Requires
- php: >=7.1.0
README
A Laravel Nova field made for Parental to quickly make a select element to choose the child type
Installation
composer require alitnk/nova-parental-field
Usage
use Wama\NovaParentalField\Parental; public function fields(Request $request) { return [ // ... your other fields Parental::make()->searchable(), ]; }
The parental field extends Nova's select field. so you can make use of methods like searchable()
on it.
Passing the field's name is optional, the package will automatically get the field name based on your $childColumn
property and if there is none, it'll just default to type
.
After making the field, it automatically gets the children types and populates them in the select field.
So, assuming your parent model looks like this:
class User extends Model { use HasChildren; private $childTypes = [ 'admin' => Admin::class, 'moderator' => Moderator::class, 'author' => Author::class, ]; }
After you add the Parental::make()->searchable()
to your Nova fields, you should get the following result: