15-1
刪除測驗
-
編輯路由 /專案/routes/web.php
加入 exam 的刪除路由
Route::delete('/exam/{exam}', 'ExamController@destroy')->name('exam.destroy');
-
修改 /專案/resources/views/show.blade.php
樣板,加入測驗的刪除按鈕:
<form action="{{route('exam.destroy', $exam->id)}}" method="POST" style="display:inline">
@csrf
@method('delete')
<button type="submit" class="btn btn-danger">刪除</button>
</form>
- 如:
![](https://campus-xoops.tn.edu.tw/uploads/tad_book3/image/37/l56_055.png)
- 接著在控制器中
/專案/app/Http/Controllers/ExamController.php
,加入 delete 的方法,我們一樣用delete()
刪除即可,也不需要在抓取任何參數,所以,直接刪完回首頁即可。
public function destroy(Exam $exam)
{
$exam->delete();
return redirect()->route('exam.index');
}
- 由於我們在migrations中有設定
$table->foreign('exam_id')->references('id')->on('exams')->onDelete('cascade');
,所以在刪除測驗,也會順便把相關聯的題目都一併刪除。
![到GitHub觀看此單元程式異動](https://campus-xoops.tn.edu.tw/uploads/tad_book3/image/34/to_github.png)