Mein aktuelles Modell hat einige Relationen. Wie kann ich sie auch löschen, wenn das Modell gelöscht wird? Diese Abfrage löscht nicht die zugehörigen Modelle, sondern nur das 'Hauptmodell'.laravel5.2 Modell mit allen Relationen löschen
Ich benutze diesen Code zu nennen:
$checks = Check::where('created_at','<=', Carbon::now()
->subHours(3))
->with('checks')
->with('results')
->delete();
Hier ist mein aktuelles Modell von Check
protected static function boot(){
parent::boot();
static::deleting(function($check) {
$check->checks()->delete();
$check->results()->delete();
});
}
Ergebnisse und Kontrollen enthalten mehr als einen Eintrag für jeden Scheck. Bedeutet dies, um die Dinge klar zu stellen:
Ein Scheck kann n CheckResult
haben und n CheckProcedure
haben (ich werde natürlich alle von ihnen auch löschen).
Sie rufen 'löschen' auf einem Abfrage-Generator, nicht das Modell. Wenn Sie möchten, dass ein Modellereignis ausgelöst wird, müssen Sie das Modell aufrufen. auch nicht sicher, wofür das eifrige Laden ist, wenn Sie gerade eine delete-Anweisung auf der db ausführen. – lagbox