Laravel - 请求安全方法不存在

Laravel - Request safe method does not exist

我使用 artisan make 命令生成了 StorePostRequest。
我在规则方法上定义了规则:

public function rules()
{
    return [
        'title' => 'required|min:3|max:255',
        'slug' => ['required', Rule::unique('posts', 'slug')],
        'thumbnail' =>'required|image',
        'excerpt' => 'required|min:3',
        'body' => 'required|min:3',
        'category_id' => 'required|exists:categories,id'
    ];
}

但是,在我的 PostController 中,除了 thumbnail 使用 safe()->except('thumbnail') 之外,我无法获得经过验证的输入,如 here

所述

我遇到了错误

BadMethodCallException
Method App\Http\Requests\StorePostRequest::safe does not exist.

直接在 $request 上使用 except() 方法有效。感谢@JEJ 的帮助。

$request->except('thumbnail');

通过 运行

检查您的 laravel/framework 版本

php artisan --version

在 FormRequest 上找到的安全方法 class was only added in version 8.55.0.

请记住,仅仅因为您使用的是 laravel 框架的 a 版本 8,并不意味着您将拥有所有方法和 laravel 8.x 文档中的属性。当然,除非您使用的是当前最新版本 8。