У меня есть три таблицы 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();
});
при удалении учащегося удалить контакт, но не удалить пользователя
Понятия не имею, как это исправить.