質問hasmany Answers。
回答hasmanyコメント。
コメントhasmany投票。
回答hasmany投票。すべてのリレーションシップテーブルからレコードを削除する
質問を削除した場合は、回答と一緒に質問したいので、回答のコメントと投票をすべて削除してください。私がしたことはあまり優雅に見えません。
$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();