:::
12-4 儲存題目
- 先建立儲存題目的路由
Route::post('/topic', 'TopicController@store')->name('topic.store'); -
因為我們還沒有題目的控制器,所以,先在終端機中建立之:
php artisan make:controller TopicController --resource -
如此,會產生
/專案/app/Http/Controllers/TopicController.php,開啟之,找到store()函數,修改之:public function store(Request $request) { $topic = Topic::create($request->all()); return redirect()->route('exam.show', $topic->exam_id); } -
我們希望儲存會回到原畫面,以便繼續新增題目,故
route()一樣指向到exam.show,並將測驗的編號$topic->exam_id傳到路由中。詳情: https://laravel-china.org/docs/laravel/5.6/routing/1363#redirect-routes -
另外,上方記得加上以下語法,如此
Topic::create()才能使用use App\Topic; -
由於是用批量賦值的寫法,所以記得到
/專案/app/Topic.php設定哪些欄位可以使用 fillable。 -
修改
/專案/app/Topic.php其內容為:class Topic extends Model { protected $fillable = [ 'topic', 'exam_id', 'opt1', 'opt2', 'opt3', 'opt4', 'ans', ]; } - 批量賦值詳情可參考: https://laravel-china.org/docs/laravel/5.6/eloquent/1403#c7d398

12-3 新增題目編輯表單
