他の質問と重複してしまうかもしれませんが、自分の言葉で理解したいので改めて確認させてください。
今回の例を言語化すると、
① show.blade.php
の以下コードの $comment
インスタンスは、クリックされたコメントの id
に依ったレコード情報を持っており、②に作用する。
<form action="{{ route('comments.destroy', $comment )}}" method="post" class="delete-comment">
② web.php
の以下コードの {comment}
の部分に①から渡ってきたパラメータ(インスタンス)の中の id
プロパティ値が代入され URL を指定すると同時に、そのインスタンスを引数とした CommentController
クラスの destroy
メソッドが実行される。
Route::delete('/comments/{comment}/destroy',[CommentController::class, 'destroy'])
->name('comments.destroy')
->where('comment', '[0-9]+');
③ CommentController.php
の以下コードの $comment
はクリックされたコメントのインスタンスであり、その中身を使って削除とリダイレクトを実行している。
public function destroy(Comment $comment)
{
$comment->delete();
return redirect()
->route('posts.show', $comment->post);
}
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?