Laravel TransformRequest 不适用于自己的请求 类

Laravel TransformRequest not applying to own Request classes

此问题已在 Laravel 5.4.9 中修复。

这两个新的中间件类不适用于我自己的请求。 两个新的中间件是:

\App\Http\Middleware\TrimStrings::class
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class

但是,他们没有将更改应用于我自己的请求。例如:我有这个请求:

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;

class CreateStoreRequest extends FormRequest
{
    public function authorize()
    {
        return Auth::check();
    }

    public function rules()
    {
        var_dump( $this->all() ); // Content not handled by middleware

        return [
            // Rules
        ];
    }
}

当我使用var_dump时,我可以看到内容没有改变。

如果我在我的控制器中使用 Illuminate\Http\Request 它就可以了。

有什么方法可以实现我自己的请求中的更改类?

我在 Github 代表中找到了解决方案

将以下内容添加到您的请求中 class。

public function all()
{
    $this->merge( $this->request->all() );

    return parent::all();
}

如果您要检查规则中的类型,您可能需要将 "nullable" 添加到规则中。