在Laravel上为可为空的日期列设置自定义dafault日期

时间:2019-07-15 23:07:44

标签: date laravel-5 migration default nullable

我想在可为空的日期字段中将默认日期设置为1900-01-01。

我已经尝试过了

$table->date('fecha_nacimiento')->nullable()
    ->default(\Carbon\Carbon::make('1900-01-01')->toDateTimeString());

$table->date('fecha_nacimiento')->nullable()
    ->default(\Carbon\Carbon::make('1900-01-01'));

$table->date('fecha_nacimiento')->nullable()->default('1900-01-01');

在未设置HTML日期输入的情况下从浏览器保存时,它会将日期字段保存为null

1 个答案:

答案 0 :(得分:1)

该字段的默认值仅在未分配值(甚至不分配空值)时适用。

该空白值很可能来自表单的空白输入。另外,如果您正在使用雄辩的质量分配,

$model->fill($request->all());

在这种情况下,您的日期字段设置为null,并且您的插入语句将如下所示,

INSERT INTO table_name (fecha_nacimiento, ...)
VALUES (null, ...);