A Laravel Nova field for single-table inheritance (Caleb Porzio's "Parental" package)

v1.0.0 2021-07-08 14:21 UTC

This package is auto-updated.

Last update: 2022-08-16 06:59:39 UTC


A Laravel Nova field made for Parental to quickly make a select element to choose the child type


composer require alitnk/nova-parental-field


use Wama\NovaParentalField\Parental;

 public function fields(Request $request)
        return [
            // ... your other fields

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: