I have a example of cascade delete but it looks too big and complicated, is there a way to shorten this code?
protected static function boot()
{
parent::boot();
static::deleted(function ($parent) {
// $versions = $parent->game_versions();
$versions = $parent->game_versions;
foreach($versions as $version){
$version->delete();
}
});
}
Someone can help me with that?
2
Answers
you can simplify the foreach as this.
Hello you can use CASCADE DELETE, you can modify the foreign key constraint in your migration that creates the game_versions table to include the onDelete method with a value of "cascade", like so:
This will ensure that when a Game record is deleted, all related GameVersion records with the corresponding game_id will also be deleted from the database.