Я писал простой тест для оценки сохранения будущей даты публикации sh для сохраненной статьи. Вот так я отправляю данные с опубликованной sh датой на завтра
$response = $this->putJson('/api/blogs/' . $blogPost->slug, [
'blog' => [
'publish' => true,
'publish_date' => Carbon::today()->addDays(1),
]
]);
$response->assertStatus(200);
На контроллере я сохраняю их следующим образом
$blogData = $request->json()->all()['blog'];
$blog->fill($blogData);
$blog->save();
При выполнении теста я получаю следующую ошибку
[2020-02-13 09:42:11] local.ERROR: Unexpected data found.
Trailing data {"userId":6,"exception":"[object] (InvalidArgumentException(code: 0): Unexpected data found.
Trailing data at /Users/anadi/Code/website/adminpanel/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:576)
[stacktrace]
#0 /Users/anadi/Code/website/adminpanel/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php(598): Carbon\\Carbon::rawCreateFromFormat('Y-m-d H:i:s', '2020-02-14T00:0...', NULL)
#1 /Users/anadi/Code/website/adminpanel/vendor/laravel/framework/src/Illuminate/Support/DateFactory.php(217): Carbon\\Carbon::createFromFormat('Y-m-d H:i:s', '2020-02-14T00:0...')
#2 /Users/anadi/Code/website/adminpanel/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(261): Illuminate\\Support\\DateFactory->__call('createFromForma...', Array)
#3 /Users/anadi/Code/website/adminpanel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(813): Illuminate\\Support\\Facades\\Facade::__callStatic('createFromForma...', Array)
#4 /Users/anadi/Code/website/adminpanel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(835): Illuminate\\Database\\Eloquent\\Model->asDateTime('2020-02-14T00:0...')
#5 /Users/anadi/Code/website/adminpanel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(580): Illuminate\\Database\\Eloquent\\Model->fromDateTime('2020-02-14T00:0...')
#6 /Users/anadi/Code/website/adminpanel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(329): Illuminate\\Database\\Eloquent\\Model->setAttribute('publish_date', '2020-02-14T00:0...')
#7 /Users/anadi/Code/website/adminpanel/app/Http/Controllers/BlogPostController.php(102): Illuminate\\Database\\Eloquent\\Model->fill(Array)
Когда я удаляю
protected $dates = ['deleted_at','publish_date'];
из красноречивой модели, эта ошибка не возникает. Что подводит меня к моему вопросу, что делает эта строка выше?