---
# System prepended metadata

title: 那些年我們一起踩的 Laravel 地雷

---

# 那些年我們一起踩的 Laravel 地雷

## 使用表單上傳檔案後無法從 $request 獲取檔案？

> `<form>` 表單屬性必須要有 `enctype="multipart/form-data"

```
    <form enctype="multipart/form-data">
        表單內容
    </form>
```


## 用 `method()` 更改 `<form>` 表單卻沒變化？

> `<form>` 表單屬性的 `method` 必須要是 `POST`

```
    <form method="POST">
        @method('DELETE');
    </form>
```


## 頁面中出現奇怪的 `;` 符號？

> 檢查作為 template 的 blade 檔案中，`yield()` 後面是否有分號

## 路由執行的 Controller 與預期中的不同？

```php=
Route::get(/news/{id}, NewsController@content);
Route::get(/news/create, NewsController@create);
```

> 此時如果使用者前往 /news/create，執行的函式會是 content 而非 create，將帶有變數的路由放在最下方可解決

## 表單 POST 後頁面出現 Error 419

> 在表單中加入 `@csrf`

```
    <form>
        @csrf
    </form>
```

