:::

12-4 儲存題目

  1. 先建立儲存題目的路由
    Route::post('/topic', 'TopicController@store')->name('topic.store');
  2. 因為我們還沒有題目的控制器,所以,先在終端機中建立之:

    php artisan make:controller TopicController --resource
  3. 如此,會產生 /專案/app/Http/Controllers/TopicController.php,開啟之,找到 store() 函數,修改之:

    public function store(Request $request)
    {
        $topic = Topic::create($request->all());
        return redirect()->route('exam.show', $topic->exam_id);
    }
  4. 我們希望儲存會回到原畫面,以便繼續新增題目,故route()一樣指向到 exam.show,並將測驗的編號$topic->exam_id傳到路由中。詳情: https://laravel-china.org/docs/laravel/5.6/routing/1363#redirect-routes

  5. 另外,上方記得加上以下語法,如此Topic::create()才能使用

    use App\Topic;
  6. 由於是用批量賦值的寫法,所以記得到 /專案/app/Topic.php 設定哪些欄位可以使用 fillable。

  7. 修改 /專案/app/Topic.php其內容為:

    class Topic extends Model
    {
        protected $fillable = [
            'topic', 'exam_id', 'opt1', 'opt2', 'opt3', 'opt4', 'ans',
        ];
    }
  8. 批量賦值詳情可參考: https://laravel-china.org/docs/laravel/5.6/eloquent/1403#c7d398

到GitHub觀看此單元程式異動


:::

書籍目錄

展開 | 闔起

https%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbsn%3D37%26tbdsn%3D1179

計數器

今天: 2595259525952595
昨天: 4745474547454745
總計: 7712556771255677125567712556771255677125567712556