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
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: