<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Support\Collection; use Illuminate\Support\Facades\DB; return new class extends Migration { /** * Run the migrations. * * @return void */ public function up() { foreach (DB::table('forms')->get() as $event) { $config = json_decode($event->config); $config->sections = array_map(function ($section) { /** @var Collection<int, mixed> */ $fields = $section->fields; $section->fields = collect($fields)->map(function ($field) { if ($field->type === 'DropdownField' || $field->type === 'RadioField') { $field->allowcustom = false; } return $field; })->all(); return $section; }, $config->sections); DB::table('forms')->where('id', $event->id)->update(['config' => json_encode($config)]); } foreach (DB::table('formtemplates')->get() as $event) { $config = json_decode($event->config); $config->sections = array_map(function ($section) { /** @var Collection<int, mixed> */ $fields = $section->fields; $section->fields = collect($fields)->map(function ($field) { if ($field->type === 'DropdownField' || $field->type === 'RadioField') { $field->allowcustom = false; } return $field; })->all(); return $section; }, $config->sections); DB::table('formtemplates')->where('id', $event->id)->update(['config' => json_encode($config)]); } } /** * Reverse the migrations. * * @return void */ public function down() { // } };