TGViewer
Cododel.dev | Александр Cododel.dev | Александр @cododel_dev · 228 subscribers
Post #231 109
Еще один Баг в FilamentPHP: Не обновляется значение поля DateTimeField

Если потребуется подтянуть данные в форму, без перезагрузки страницы - пользуемся примером:


Forms\Components\DateTimePicker::make('broken_at')
->prefixAction(
Action::make('updateLocation')
->icon('heroicon-c-arrow-path')
->action(function (Proxy $record, EditProxy $livewire, DateTimePicker $component) {
$record->recheck(update: true);
$livewire->refreshFormData(['broken_at']);
})
)


Этот пример показывает, что можно у поля добавить кнопку, при нажатии на которую оно будет изменено и сразу подтянется из базы данных, отобразится в форме и автоматом сохранится.

Но!
В случае с DateTime - должна происходить сериализация объекта в строку нужного формата.
Этого не происходит, данные в базе сохраняются, с ними можно работать, но само значение в поле становится пустым, это баг.
Я за реверсил логику refreshFormData, разобрался, как форматируется этот тип данных при классической работе с формой.
Пока не пофиксят, после изменения данных достаточно вручную отформатировать значение и подставить в форму, используя инъекцию компонента формы.
В данном случае нужно заменить:


$livewire->refreshFormData(['broken_at']);


На следующую конструкцию:


if ($record->broken_at == null) {
$livewire->data['broken_at'] = null;
} else {
$livewire->data['broken_at'] = $record->broken_at->format($component->getFormat());
}


Таким образом мы вручную заменяем значение в форме на акуальное, с корректным форматированием, при этом учитываем, что значение может быть null, чтобы избежать непредвиденных ошибок.

Готово!

А еще записал подробное видео, с рзабором этой фишки на реальном проекте!
▶️ YouTube
  • 👍 1
More from @cododel_dev
  1. Sep 30, 2026OpenAI: Мы порезали лимиты в 2 раза, и релизнули Dot ботов на Astra High Me: найди мем
  2. Sep 30, 2026Выехал из дома на велике Дорогу назад помню слабо. Единственный минус телефона по итогу -…
  3. Sep 21, 2026Ого какие вакансии бывают Больше удивлен что предложения на почти пустой линкдин приходят…
  4. Sep 15, 2026Все что нужно знать сегодня о “Работать будет только на английском” 😐
  5. Sep 15, 2026Post #1153
  6. Sep 14, 2026200 🤝 Всех новоприбывших обнял-приподнял Умного пока ничего не придумал, чем хотел бы сро…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →