laravel-5.5 - Datetime 可空字段存储 0000-00-00 00:00:00 在可空字段中,
问题描述
我正在使用 Laravel 5.6.12 和 MySQL
架构迁移代码
Schema::create('mytable', function (Blueprint $table) {
$table->unsignedMediumInteger('ID')->autoIncrement();
$table->datetime("Start_Date");
$table->datetime("End_Date")->nullable()->default(null);
$table->timestamps();
});
插入脚本
$MyModel = new MyModel();
$MyModel->Start_Date = \Carbon\Carbon::now();
$MyModel->End_Date = null;
$MyModel->save();
我还在数据库中为 End_Date 字段获得 0000-00-00 00:00:00。我希望它存储 null 而不是 0000-00-00 00:00:00
请建议
解决方案
有一件事情是肯定的。默认情况下,日期时间输入 0000-00-00 00:00:00,因为这是日期时间字段的默认值。您可以尝试的一件事是从迁移中删除“default->(null)”。为了确保一切正常,首先尝试控制器,因为它没有任何变化。如果失败,请尝试: $MyModel->End_Date = '0'; 看看这是否有效。
最后,确保你的模型中所有提到的字段都是 $fillable = []。
希望这可以帮助 :)
推荐阅读
- react-native - 如何在“react-navigation”的导航上测试模拟?
- meteor - 性能远程 el-select 选项 3000 项缓慢而粉碎?
- html - Bootstrap 容器的高度始终为 0
- components - 在 Foundation 6 Zurb 堆栈上无法通过 panini 工作的构建块
- javascript - React Native - 未定义不是 StackNavigator 的函数问题
- ios - 在整个项目中快速为字体和控制器添加颜色
- python - 循环遍历文本,一次 3 个字符
- asp.net-core - Npgsql:没有为 CLR 类型“NpgsqlDate”找到到关系类型的映射
- javascript - CSS:溢出:隐藏不能在全屏上工作
- ios - 圆形视图上的不均匀阴影