cee*_*yoz 7 laravel timestamp-with-timezone php-carbon
Laravel 5.4 支持TIMESTAMP WITH TIME ZONE迁移中的 Postgres字段类型:
$table->timestampTz('scheduled_for');
Run Code Online (Sandbox Code Playgroud)
Laravel 可以设置为将日期字段 ( DATE, DATETIME, TIMESTAMP) 转换为 Carbon 对象(默认情况下为created_at和updated_at TIMESTAMP字段这样做),但放入scheduled_for该$dates字段会导致时区感知版本出错:
InvalidArgumentException with message 'Trailing data'
Run Code Online (Sandbox Code Playgroud)
查看数据库和修补程序,该字段的值似乎类似于2017-06-19 19:19:19-04. 是否有一种本地方法可以从这些字段类型之一中获取 Carbon 对象?还是我一直在使用访问器?
Jim*_*ein 12
重新提出这个问题,希望有一个有用的答案被接受。
Laravel 采用Y-m-d H:i:s数据库时间戳格式。如果您使用的是 Postgrestimestampz列,那显然是不同的。您需要告诉 Eloquent 如何让 Carbon 解析该格式。
简单地$dateFormat在模型上定义属性,如下所示:
Class MyModel extends Eloquent {
protected $dateFormat = 'Y-m-d H:i:sO';
}
Run Code Online (Sandbox Code Playgroud)
信用到期的信用:我在GitHub 问题中找到了这个解决方案
| 归档时间: |
|
| 查看次数: |
6306 次 |
| 最近记录: |