Удалить из нескольких таблиц с помощью каскада - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть три таблицы 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();

    });

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

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

...