How use Laravel's Bootable Eloquent Traits
Given the following bootable trait:
trait WithCreator
{
//no need to define a 'boot' method
public static function bootWithCreator()
{
self::observe(CreatorObserver::class);
}
}
class CreatorObserver
{
public function creating($model)
{
$model->creator()->associate(auth()->user());
}
}
We can use it to register the observer without colliding with existing boot methods inside the model.
class Comment extends Model
{
use HasFactory;
use WithCreator;
public static function boot()
{
...
}
}