php - 使用 Laravel 设置日期格式
问题描述
我正在尝试将日期格式设置为 (dmY),但错误消息如下所述:
SQLSTATE [22007]:无效的日期时间格式:1292 不正确的日期值:'20-03-2020'
下面是我的控制器验证代码
$request->validate([
'date' => 'required|date_format:d-m-Y',
]);
我还尝试在我的模型中设置格式,这也是徒劳的
protected $dateFormat = 'd-m-Y';
如何设置 date_format?
解决方案
根据文档,$dateFormat
模型上的设置“决定了日期属性在数据库中的存储方式”。将其设置为与数据库的日期格式冲突的值当然会导致您看到的 SQL 错误。所以别管它。
将属性添加到数组$dates
将确保它在设置时自动转换为 Carbon 对象,并在保存时正确格式化:
protected $dates = ['myproperty'];
这是透明的,因为 Carbon 接受d-m-Y
作为创建对象的格式。
推荐阅读
- python - Python:在奇怪的情况下“没有名为 [] 的模块”
- mysql - 在SQL中,查询越短,运行越快是真的吗
- ruby-on-rails - 在运行 Rails ActiveRecord 聚合方法时,是否有一种优雅的方式来使用应用程序时区?
- c++ - 返回一个指针数组
- node.js - ValidationError 未被快速错误处理程序捕获
- javascript - Javascript按钮未返回正确状态
- jquery - 使用 jQuery 总计多个 rpg 骰子
- python - matplotlib PdfPages 忽略 set_xlim()
- python - python字典中的键
- kubernetes - 无法在 Kubernetes(坏网关)中服务 Traefik NestJS 应用程序