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',
]