Fragen hasmany Antworten.
Antworten hasmany Kommentare.
Kommentare hasmany Abstimmungen.
Antworten hasmany Abstimmungen.Löschen der Datensätze aus allen Beziehungen Tabelle
Jetzt, wenn ich eine Frage lösche, möchte ich die Frage zusammen mit ihren Antworten, und alle Kommentare und Stimmen auf der Antwort gelöscht werden. Was ich getan habe, sieht nicht so elegant aus.
$question=Question::where(['id'=>$request->id])->first();
$answers=Answer::where(['q_id'=>$request->id])->get();
foreach($answers as $answer)
{
$comments=Comment::where(['answer_id'=>$answer->id])->get();
foreach($comments as $comment)
{
$votes=vote::where(['votable_id'=>$answer->id])
->orWhere(['votable_id'=>$comment->id])
->get();
foreach($votes as $vote)
{
$vote->delete();
}
$comment->delete();
}
$answer->delete();
}
$question->delete();