フォームリクエストの配列に値を追加するには、次の手順に従います。
-
フォームリクエストクラスを作成します。Laravelのコマンドラインツールを使用して、以下のコマンドを実行します:
php artisan make:request MyFormRequest
これにより、
app/Http/Requests
ディレクトリにMyFormRequest.php
ファイルが作成されます。 -
MyFormRequest
クラスのrules
メソッド内で、バリデーションルールを定義します。例えば、次のようになります:public function rules() { return [ 'name' => 'required|string', 'email' => 'required|email', ]; }
-
MyFormRequest
クラスのprepareForValidation
メソッドをオーバーライドします。このメソッド内で、フォームリクエスト配列に値を追加します。例えば、次のようになります:protected function prepareForValidation() { $this->merge([ 'additional_field' => 'additional_value', ]); }
上記の例では、
additional_field
という名前の新しいフィールドをフォームリクエストに追加しています。 -
コントローラー内で、フォームリクエストを使用してリクエストをバリデーションします。例えば、次のようになります:
public function store(MyFormRequest $request) { // バリデーションが成功した場合の処理 }
バリデーションが成功すると、フォームリクエスト内で定義した追加のフィールドがリクエストデータに含まれます。
これで、Laravelでフォームリクエスト配列に値を追加する方法がわかりました。上記の手順に従ってコードを実装してみてください。