You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Filament PHP v2 DateTimePicker字段设置默认日期时间值?

Filament DateTimePicker 设置当前时间为默认值的解决方案

基础创建表单场景

直接在字段代码里添加->default(CarbonImmutable::now())即可,注意提前引入CarbonImmutable类。修改后的完整代码如下:

use Carbon\CarbonImmutable;

DateTimePicker::make('my_date')
    ->label('My date')
    ->minDate(CarbonImmutable::now()->startOfDay())
    ->withoutSeconds()
    ->default(CarbonImmutable::now()) // 新增默认值设置
    ->required(),

编辑表单场景(字段为空时补默认)

如果是在编辑页面,仅当数据库中该字段为空时需要设置默认值,用闭包判断记录的字段值即可:

DateTimePicker::make('my_date')
    ->label('My date')
    ->minDate(CarbonImmutable::now()->startOfDay())
    ->withoutSeconds()
    ->default(fn ($record) => $record?->my_date ?? CarbonImmutable::now())
    ->required(),

之前->default()无效的常见原因

  • 你在编辑页面使用:编辑页面会优先加载模型中已有的数据,默认值不会覆盖已有内容
  • 未正确引入Carbon类:如果类不存在,代码会静默失败(或报错),导致默认值不生效

内容的提问来源于stack exchange,提问作者Zsófia Komáromi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 02:20:03