php - 将碳从字符串保存到 MySQL
问题描述
我无法将时间戳保存到我的 MySQL 数据库。在这种情况下,用户在文本字段中写入日期,格式为 dd/mm/yyyy,我希望将其保存为时间戳。
问题是,它总是抱怨格式不正确。
到目前为止,我已经尝试过:
$d = DateTime::createFromFormat("d/m/Y H:i:s", $request['b_date'] . " 00:00:00");
// or
$d = Carbon::parse($request['b_date']);
// or
$d = Carbon::createFromFormat("d/m/Y H:i:s", $request['b_date'] . " 00:00:00");
// so that I can
$p->b_date = $d;
但它永远不会让我保存它。这是日志:
[2019-05-29 15:14:02] local.ERROR: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '1111-11-11 00:00:00' for column 'b_date' at row 1 ...
几个小时以来,我一直在尝试这样做。我错过了什么?
'1111-11-11 00:00:00' 怎么会是一个无效的日期时间值呢?
解决方案
在迁移脚本中将数据类型声明为 DateTime 对我有用。
...
Schema::create(...
$table->dateTime('b_date'); // use dateTime instead of timestamp
...
在控制器中使用碳进行设置:
...
$p->b_date = Carbon::createFromFormat("d/m/Y H:i:s", $input['b_date'] . " 00:00:00");
...
推荐阅读
- unix - awk 输出到指定的列数
- firebase - Flutter future builder完成后什么都不显示-firestore
- reactjs - 如何使用打字稿将多个参考传递给forwardRef
- visual-studio-code - 保存编辑器布局
- r - 如何在 R 中抓取 PDF 的所有页面?
- html - 为什么我的 div 没有出现在我的主 div 中?
- angular - How to use button value for filter pipes in Angular
- python - 为什么使用 KivyMD 模块时应用程序会崩溃?
- javascript - 未传递函数参数。如何正确地将参数传递给另一个 JavaScript 文件的函数?
- java - isSelected() 不适用于硒中的单选按钮