Laravel 8:保存记录时错误调用未定义的方法 DateTime::set()
Laravel 8: Error Call to undefined method DateTime::set() while saving record
我最近更新了我的 laravel 8 并且 Carbon 或日期请求似乎无法正常工作 我在使用日期时间保存记录时收到以下错误
exception: "Error"
file: "/../vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php"
line: 848
message: "Call to undefined method DateTime::set()"
控制器
$startDate = $request->start_date_time;
$events->start_date_time = Carbon::parse($startDate);
正在解析字符串:
2021-07-14T07:43:27.498Z
版本
PHP 7.4.21, Laravel 8
问题在于转换
'start_date_time' => 'dateTime',
'end_date_time' => 'dateTime'
应该是
'start_date_time' => 'datetime',
'end_date_time' => 'datetime'
参考:https://laravel.com/docs/8.x/eloquent-mutators#attribute-casting
通过更改我的事件模型解决了问题
之前
protected $casts = [
'start_date_time' => 'dateTime',
'end_date_time' => 'dateTime',
]
之后
protected $casts = [
'start_date_time' => 'datetime',
'end_date_time' => 'datetime',
]
我最近更新了我的 laravel 8 并且 Carbon 或日期请求似乎无法正常工作 我在使用日期时间保存记录时收到以下错误
exception: "Error"
file: "/../vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php"
line: 848
message: "Call to undefined method DateTime::set()"
控制器
$startDate = $request->start_date_time;
$events->start_date_time = Carbon::parse($startDate);
正在解析字符串: 2021-07-14T07:43:27.498Z
版本
PHP 7.4.21, Laravel 8
问题在于转换
'start_date_time' => 'dateTime',
'end_date_time' => 'dateTime'
应该是
'start_date_time' => 'datetime',
'end_date_time' => 'datetime'
参考:https://laravel.com/docs/8.x/eloquent-mutators#attribute-casting
通过更改我的事件模型解决了问题
之前
protected $casts = [
'start_date_time' => 'dateTime',
'end_date_time' => 'dateTime',
]
之后
protected $casts = [
'start_date_time' => 'datetime',
'end_date_time' => 'datetime',
]