Удалить из нескольких таблиц, используя каскад

У меня три стола student, user а также contact, У студента есть связь с контактом, а у контакта есть связь (user_id) с таблицей пользователей.
Когда я пытаюсь удалить из Студента, он должен быть удален из Пользователя и Контакта с помощью каскадного удаления. Однако он удаляет только из таблицы Student и сохраняет данные в таблицах User и Contact.

StudentController

<?php

public function destroy(Student $student)
{
$student->delete();

return redirect('/admin/student')->with('success','has been Deleted');
}

Я использовал в студенческой модели

  public function contact()
{
return $this->belongsTo('App\Contact');

}

public static function boot() {
parent::boot();

static::deleting(function($student) {
$student->contact()->delete();

});

это работает, но я использовал в контактной модели

  public function user()
{
return $this->belongsTo('App\User');

}
public static function boot() {
parent::boot();

static::deleting(function($contact) {
$contact->user()->delete();

});

при удалении студента удалить контакт, но не удалить пользователя

Я понятия не имею, как это исправить.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …