У меня три стола 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();
});
при удалении студента удалить контакт, но не удалить пользователя
Я понятия не имею, как это исправить.
Задача ещё не решена.
Других решений пока нет …