© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
FilamentF
Filament•3y ago•
2 replies
jilexandr

How to set custom data to RepeatableEntry inside infolist?

I'm just started with Filament and don't understand key concepts how to build anything.
I have a simple View page for my resource, data came from Eloquent (MySQL), but extra data I need is from Service (ElasticSearch inside with some logic behind). How to deal with that?

$messages
$messages
is simple array of key->value (type, from...) and now all
TextEntry
TextEntry
are empty.

class ViewConversation extends ViewRecord
{
    protected static string $resource = ConversationResource::class;

    public function infolist(Infolist $infolist): Infolist
    {
        /** @var ESStorage $es */
        $es = app(ESStorage::class);

        $messages = $es->getConversationHistory($this->record->bot_id, $this->record->id);

        $messagesEntry = RepeatableEntry::make('messages')
            ->default($messages)
            ->schema([
                TextEntry::make('type'),
                TextEntry::make('from'),
                TextEntry::make('timestamp'),
                TextEntry::make('message'),
            ]);

        return parent::infolist($infolist)->schema([
            Section::make('Details')->schema([
                TextEntry::make('id'),
                TextEntry::make('bot.name')->url(fn() => ChatbotResource::getUrl('edit', [$this->record->bot_id])),
                TextEntry::make('created_at')->dateTime(),
            ]),
            $messagesEntry,
        ]);
    }
}
class ViewConversation extends ViewRecord
{
    protected static string $resource = ConversationResource::class;

    public function infolist(Infolist $infolist): Infolist
    {
        /** @var ESStorage $es */
        $es = app(ESStorage::class);

        $messages = $es->getConversationHistory($this->record->bot_id, $this->record->id);

        $messagesEntry = RepeatableEntry::make('messages')
            ->default($messages)
            ->schema([
                TextEntry::make('type'),
                TextEntry::make('from'),
                TextEntry::make('timestamp'),
                TextEntry::make('message'),
            ]);

        return parent::infolist($infolist)->schema([
            Section::make('Details')->schema([
                TextEntry::make('id'),
                TextEntry::make('bot.name')->url(fn() => ChatbotResource::getUrl('edit', [$this->record->bot_id])),
                TextEntry::make('created_at')->dateTime(),
            ]),
            $messagesEntry,
        ]);
    }
}
image.png
Filament banner
FilamentJoin
A powerful open source UI framework for Laravel • Build and ship admin panels & apps fast with Livewire
20,307Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

Set custom data on RepeatableEntry
FilamentFFilament / ❓┊help
11mo ago
infolist with RepeatableEntry
FilamentFFilament / ❓┊help
3y ago
RepeatableEntry on InfoList dont show any data
FilamentFFilament / ❓┊help
3y ago
How to Order Infolist RepeatableEntry by Custom Column Instead of ID?
FilamentFFilament / ❓┊help
9mo ago