© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
FilamentF
Filament•2y ago•
5 replies
Vp

Manually fill simple repeater data value on edit

I'm storing repeater value to another table, each value will be based on
languages
languages
. On create it's working fine (storing).. but on edit the repeater value cannot display.. what can I do to fill simple repeater value on edit
// form
foreach (Language::all() as $language) {
    $fields[] = Forms\Components\Tabs\Tab::make('translations.'.$language->id)
        ->label($language->name)
        ->schema([
            Forms\Components\TextInput::make('translations.'.$language->id.'.plan_name')
                ->required(),

            Forms\Components\Repeater::make('translations.'.$language->id.'.features')
                ->simple(
                    Forms\Components\TextInput::make('translations.'.$language->id.'.features')
                        ->required(),
                )
        ]);
}

// create (working fine)
Actions\CreateAction::make()
    ->after(function (Model $record, array $data) {
        foreach ($data['translations'] as $key => $value) {
            $record->translations()->create([
                'language_id' => $key,
                'plan_name' => $value['plan_name'],
                'features' => $value['features'],
            ]);
        }
    }),

// edit (it cannot fill repeater data)
Tables\Actions\EditAction::make()
    ->mutateRecordDataUsing(function (Model $record, array $data): array {
        foreach ($record?->translations as $translation) {
            $data['translations'][$translation->language_id]['plan_name'] = $translation->plan_name;
            $data['translations'][$translation->language_id]['features'] = $translation->features;
        }

        // dd($data);

        return $data;
    }),

// relationship
public function translations(): HasMany
{
    return $this->hasMany(ProductTranslation::class);
}
// form
foreach (Language::all() as $language) {
    $fields[] = Forms\Components\Tabs\Tab::make('translations.'.$language->id)
        ->label($language->name)
        ->schema([
            Forms\Components\TextInput::make('translations.'.$language->id.'.plan_name')
                ->required(),

            Forms\Components\Repeater::make('translations.'.$language->id.'.features')
                ->simple(
                    Forms\Components\TextInput::make('translations.'.$language->id.'.features')
                        ->required(),
                )
        ]);
}

// create (working fine)
Actions\CreateAction::make()
    ->after(function (Model $record, array $data) {
        foreach ($data['translations'] as $key => $value) {
            $record->translations()->create([
                'language_id' => $key,
                'plan_name' => $value['plan_name'],
                'features' => $value['features'],
            ]);
        }
    }),

// edit (it cannot fill repeater data)
Tables\Actions\EditAction::make()
    ->mutateRecordDataUsing(function (Model $record, array $data): array {
        foreach ($record?->translations as $translation) {
            $data['translations'][$translation->language_id]['plan_name'] = $translation->plan_name;
            $data['translations'][$translation->language_id]['features'] = $translation->features;
        }

        // dd($data);

        return $data;
    }),

// relationship
public function translations(): HasMany
{
    return $this->hasMany(ProductTranslation::class);
}

On edit, total rows are correctly populated without value.. and this approach correctly filled text input
Plan name
Plan name
Filament banner
FilamentJoin
A powerful open source UI framework for Laravel • Build and ship admin panels & apps fast with Livewire
20,307Members
Resources
Was this page helpful?

Similar Threads

Recent Announcements

Similar Threads

Simple repeater values not showing on edit
FilamentFFilament / ❓┊help
3y ago
Fill repeater on createView
FilamentFFilament / ❓┊help
2y ago
Repeater edit value with array type.
FilamentFFilament / ❓┊help
2y ago
Repeater on edit page
FilamentFFilament / ❓┊help
3y ago