Is there a way to extend a trait in PHP?
Yes, there is. You just have to define new trait like this: trait MySoftDeletes { use SoftDeletes { SoftDeletes::saveWithHistory as parentSaveWithHistory; } public function saveWithHistory() { $this->parentSaveWithHistory(); //your implementation } }