diff --git a/app/Plugins/User/Databases/DatabasesPlugin.php b/app/Plugins/User/Databases/DatabasesPlugin.php index 44577bbe6..5a641c0f0 100644 --- a/app/Plugins/User/Databases/DatabasesPlugin.php +++ b/app/Plugins/User/Databases/DatabasesPlugin.php @@ -1118,10 +1118,6 @@ public function detail($request, $page_id, $frame_id, $id, $mode = null) */ public function input($request, $page_id, $frame_id, $id = null, $errors = null) { - // セッション初期化(戻る時に入力値を保持するため) - // 確認画面からの「前へ」ではアップロードファイルは含まれないため、flash可能。 - $request->flash(); - // Databases、Frame データ $database = $this->getDatabases($frame_id); @@ -1134,6 +1130,16 @@ public function input($request, $page_id, $frame_id, $id = null, $errors = null) // 権限のよって登録・編集の非表示columnsを取り除く $databases_columns = $this->removeRegistEditHideColumns($databases_columns); + // セッション初期化(戻る時に入力値を保持するため) + // アップロードファイル(UploadedFile)はシリアライズ不可のため、ファイル項目はフラッシュ対象から除外する。 + $flash_excepts = []; + foreach ($databases_columns as $databases_column) { + if (DatabasesColumns::isFileColumnType($databases_column->column_type)) { + $flash_excepts[] = 'databases_columns_value.' . $databases_column->id; + } + } + $request->flashExcept($flash_excepts); + // カラムの選択肢用データ $databases_columns_id_select = null; if ($database) {