跳至主內容區

XOOPS輕鬆架

:::

主內容區域

選擇後會自動跳轉頁面

12-1 路由模型綁定

  1. 如果還要更簡單一點,Laravel 提供「路由模型綁定」功能來簡化找出資料的方式,它可以讓我們自己定義一個特定的參數名稱來指示路由解析器去尋找一筆Eloquent紀錄(亦即根據流水號取得該筆資料),並將該資料傳入,而非將流水號傳入。

  2. 我們先修改路由,將{id}直接改為{exam}

    Route::pattern('exam', '[0-9]+');
    //略
    Route::get('/exam/{exam}', 'ExamController@show')->name('exam.show');
    
  3. 然後修改控制器\專案\app\Http\Controllers\ExamController.php,將show()括號中的$id改為和路由傳進來的名稱一致,亦即$exam,然後在類型約束(typehint)上加入Exam模型。如此,Laravel 就會自動去抓取該編號的所有資料,因此,以下第3行的$exam實際上是整個Exam模型資料,而非編號。

    public function show(Exam $exam)
    {
        return view('exam.show', compact('exam'));
    }
  4. 一般我們稱這方式為「隱式路由模型綁定」

到GitHub觀看此單元程式異動

選擇後會自動跳轉頁面

:::

左邊區域內容

書籍目錄

展開 | 闔起

快速登入


右邊區域內容

請掃此 QR Code 可連至此頁面

計數器

今天: 1464146414641464
昨天: 3121312131213121
總計: 9439348943934894393489439348943934894393489439348

頁尾區域