Laravel8 POSTされた値の整形はリクエストクラスでしよう

POSTされた変数名が配列だったりで対象テーブルのカラム名と一致していない場合やPOSTされた値を加工しないとテーブルにinsert出来ない場合は、コントローラーで行わずリクエストクラスで加工、整形を行うとソースがスッキリする。

■バリデーション実行前に実行される

protected function prepareForValidation()
{
    $this->merge([
        "hoge" => データの加工など,
    ]);
}

■バリデーション通過後に実行される

protected function passedValidation()
{
    // 配列を対象テーブルのカラム名に合わせる
    for($i = 0; $i < 5; $i++){
        $this->merge([
            "hoge".($i+1) => $this->input("hoge.".($i+1)),
        ]);
    }
}

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です