환자가 삭제 될 때 환자와 관련된 기록을 삭제해야하는 Laravel 5.2로 작성된 의료 웹 앱이 있습니다. Eloquent 이벤트로 삭제할 수 없습니다.Laravel 5.2에서 중첩 된 Eloquent 모델 이벤트가 실행되지 않습니까?
환자는 그 환자에게 속한 많은 만남을 가지고 있으며 그 만남에는 그 만남에 속한 많은 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();
});
}
내 만남 모델에서
, 나는이있다 : 어설프게 사용
//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();
});
}
, 나는 관련 Encounte을 삭제했다하는 그것을 삭제 한 다음, 만남의 인스턴스를 선택 rSymptom 레코드가 있지만 환자의 삭제를 호출하면 관련된 모든 Encounters는 성공적으로 삭제되지만 EncounterSymptoms는 삭제되지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
아마도 EncounterSymptoms 테이블을 삭제하는 것이 쉬운 문제 일 수 있습니다. – revo