У меня есть медицинское веб-приложение, построенное с помощью Laravel 5.2, где мне нужно удалить записи, связанные с пациентом, когда они удалены. Я не могу удалить их с помощью событий Eloquent.Вложенные яркие события модели не стреляют в Laravel 5.2?
Пациент имеет много встреч, которые принадлежат этому пациенту, и эта встреча имеет много EncounterSymptoms, которые принадлежат к этой встрече. Вот моя схема базы данных:
В настоящее время мой метод, чтобы удалить все пациент «встречает» удаляет их, когда пациент удаляется удаляют связанные встречи, слушая, когда красноречивые модели пожар:
//In App\Models\Patient\Patient.php
public function Encounters(){
return $this->hasMany('App\Models\Patient\Encounter');
}
protected static function boot() {
parent::boot();
static::deleting(function($Patient) {
$Patient->Encounters()->delete();
});
}
В моей Encounter модели, у меня есть это:
//In App\Models\Patient\Encounter.php
public function EncounterSymptoms(){
return $this->hasMany('App\Models\Encounter\EncounterSymptom');
}
protected static function boot() {
parent::boot();
static::deleting(function($Encounter) {
$Encounter->EncounterSymptoms()->delete();
});
}
Использование подправлять, я выбрал экземпляр Encounter, а затем удалил его, который сделал удалить связанные с Encounte rSymptom, но когда я вызываю удаление на пациента, все связанные с ним контакты успешно удаляются, но EncounterSymptoms - нет. Что я делаю не так?
Возможно, это проблема с мягким удалением с таблицей EncounterSymptoms. – revo