'permit_empty|is_list', 'podcast' => 'permit_empty|is_list', 'episode' => 'permit_empty|is_list', ]; /** * @var array */ protected const CASTS = [ 'general' => [Field::class], 'podcast' => [Field::class], 'episode' => [Field::class], ]; /** * @var Field[] */ protected array $general = []; /** * @var Field[] */ protected array $podcast = []; /** * @var Field[] */ protected array $episode = []; #[Override] public function loadData(array $data): void { $newData = []; foreach ($data as $key => $fields) { $newFields = []; foreach ($fields as $fieldKey => $field) { $field['key'] = $fieldKey; $newFields[] = $field; } $newData[$key] = $newFields; } parent::loadData($newData); } }