在 Laravel 上为可为 null 的日期列设置自定义默认日期
Set a custom dafault date for a nullable date column on Laravel
我想在可为空的日期字段上设置默认日期 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
。
字段上的默认值仅在未分配任何值(甚至不分配 null)时适用。
空白值很可能来自表单的空白输入。此外,如果您像这样使用 eloquent 批量分配,
$model->fill($request->all());
在这种情况下,您的日期字段设置为空,您的插入语句将如下所示,
INSERT INTO table_name (fecha_nacimiento, ...)
VALUES (null, ...);
我想在可为空的日期字段上设置默认日期 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
。
字段上的默认值仅在未分配任何值(甚至不分配 null)时适用。
空白值很可能来自表单的空白输入。此外,如果您像这样使用 eloquent 批量分配,
$model->fill($request->all());
在这种情况下,您的日期字段设置为空,您的插入语句将如下所示,
INSERT INTO table_name (fecha_nacimiento, ...)
VALUES (null, ...);