Eloquent STI brings a Single Table Inheritance capabilities to Eloquent.
composer require "webbingbrasil/eloquent-sti=1.0.0"
Use the CanBeInherited
trait in any entity to get STI capabilities in childs
use WebbingBrasil\EloquentSTI\CanBeInherited;
class User extends Model
{
use CanBeInherited;
}
Now just extend the parent model with any child models
class Admin extends User
{
}
class Manager extends User
{
}