date - 在 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)时。
空白值很可能来自表单的空白输入。此外,如果您正在使用像这样雄辩的质量分配,
$model->fill($request->all());
在这种情况下,您的日期字段设置为 null 并且您的插入语句将如下所示,
INSERT INTO table_name (fecha_nacimiento, ...)
VALUES (null, ...);
推荐阅读
- python - 使用 QFileSystemModel 将鼠标悬停在此 QTreeView 中的项目上时如何打印文件路径
- reactjs - 使用 TypeScript 进行反应,不要使用 {} 作为类型。{
- ruby - Ruby:rspec 没有捕获异常?
- swift - 如何从 UIDatePicker 获取小时和分钟
- flutter - Flutter : ValueNotifier+ValueListenableBuilderとStateについて
- sql - 如何使用触发器解决我的控制号问题
- java - Eclipse Java 氧气 - 导入 sun.dc.pr.PathStroker 无法解析错误
- java - 如何读取多个基于文本的拼字游戏板,并将它们放入二维数组中?
- javascript - 是否可以在 Js 中对 switch 语句的情况进行索引?
- angular - 在 Typescript 中过滤空的 json 响应