its better to check whether the owner model has error or not before reducing frequency and deleting all relations. because if some behaviors wants to attach error on owner and they registered before TaggableBehavior and reject deleting for some reasons, when deleting is perform the owner model stay live but all relations gone.
something like this in beforeDelete() :
if ($this->owner->hasErrors()) { return; }
we can also think about doing this afterDelete event.
its better to check whether the owner model has error or not before reducing frequency and deleting all relations. because if some behaviors wants to attach error on owner and they registered before TaggableBehavior and reject deleting for some reasons, when deleting is perform the owner model stay live but all relations gone. something like this in beforeDelete() :
if ($this->owner->hasErrors()) { return; }
we can also think about doing this afterDelete event.