Benutzer hat viele zu viele Beziehung mit Bericht. Und wenn ich einen Benutzer lösche, möchte ich alle seine Berichte und Daten aus der Pivot-Tabelle report_user
löschen. Hier ist meine delete()
Methode:Wie lösche ich Beziehungsmodelldaten zusammen mit Pivot-Tabellendaten in vielen zu vielen Relationen?
public function delete(Request $request)
{
$user=User::where('id',$request->id);
if($user)
{
$user->delete();
return response()->json(['status'=>true]);
}
}
manuell kann ich den Benutzer löschen abrechnen:
foreach($user->reports as $report)
{
$report->delete();
}
Wenn es eine bessere Möglichkeit ist verwandte Modelle zu löschen, würde ich gerne wissen.
Abhängig von Ihrem Datenbankmodul können Sie auch Fremdschlüsseleinschränkungen in Ihrer Pivot-Tabelle mit CASCADE Action (ON DELETE CASCADE) verwenden. Dies funktioniert jedoch nicht mit Mysql und MyIsam. –