Сценарий:
Студент -> родитель,
Детский класс для ученика
Родитель: ученик
Ребенок: Знаки
Адрес
Grand Child Основной адрес
Вторичный адрес
We are using the Cascade Soft-Delete for the above scenario with the code below :
Здесь происходит несколько удалений, нужны предложения, чтобы узнать, нужно ли нам добавлять управление транзакциями для каскадного удаления.
use Illuminate\Database\Eloquent\SoftDeletes;
class Student extends Model
{
use SoftDeletes;
protected static function boot()
{
parent::boot();
static::deleting(function ($student) {
foreach ([
'address',
'mark'
] as $relation) {
foreach ($student->{$relation} as $item) {
$item->delete();
}
}
});
}
public function address()
{
return $this->hasMany(StudentAddress::class, 'student');
}
public function mark()
{
return $this->hasMany(Marks::class, 'mark_detail');
}
}