EntryFlags::class, ]; protected static function boot() { parent::boot(); static::created(function ($flag) { $flag->deleteRelatedCalculatedScores(); }); static::updated(function ($flag) { $flag->deleteRelatedCalculatedScores(); }); static::deleted(function ($flag) { $flag->deleteRelatedCalculatedScores(); }); } public function entry(): BelongsTo { return $this->belongsTo(Entry::class); } public function deleteRelatedCalculatedScores(): void { $entry = $this->entry; if ($entry) { $entry->calculatedScores()->delete(); Cache::forget('entryScore-'.$entry->id.'-seating'); Cache::forget('entryScore-'.$entry->id.'-advancement'); Cache::forget('audition'.$entry->audition_id.'seating'); Cache::forget('audition'.$entry->audition_id.'advancement'); } } }