Merhaba, MorphTo ilişkisi olan verileri silmek istiyorum.Aşağıdaki yapıları çalıştırdığımda $target siliniyor,
silinirken tetiklenen SchoolScore Modeli'de siliniyor.Fakat SchoolScore silinirken tetiklensin dediğim lessons
silinmiyor. Kurguyu yanlış mı kuruyorum acaba ?
Controller:
public function destroy(Target $target)
{
$target->delete();
}
Target Model:
public function target(): MorphTo
{
return $this->morphTo();
}
protected static function boot()
{
parent::boot();
static::deleting(function ($target) {
$target->target()->delete();
});
}
SchoolScore Model:
public function lessons(): HasMany
{
return $this->HasMany(Lesson::class);
}
public function targets(): MorphMany
{
return $this->morphMany(Target::class, 'target');
}
protected static function boot()
{
parent::boot();
static::deleting(function ($schoolScoreTarget) {
$schoolScoreTarget->lessons->each(function ($lesson) {
$lesson->delete();
});
});
}