初めに
仕事でLaravelの知識が必要となり、下記リンクの良さげなチュートリアルをやっていまた。
https://www.hypertextcandy.com/laravel-tutorial-create-task
チュートリアル通りにやっていてもエラーってやっぱり起きるのですよね〜。。。
環境
上記リンクのチュートリアルはv5らしいです。私はv6だったので発生したエラーだと思われる。。。
$ php artisan --version
Laravel Framework 6.18.40
同じようなエラーです。。
Laravel getFormattedDueDateAttributeでTrailing data のエラーが出た場合
発生した問題
上記リンクのチュートリアル通りにやっても、「タスクを保存する」の段階でこのようなエラーが発生しました。
Carbon\Exceptions\InvalidFormatException
Unexpected data found. Unexpected data found. Data missing (View: /Users/xxx/resources/views/tasks/index.blade.php)
解決方法
https://qiita.com/koukonko/items/420a95e6e98915b8a38b
上記を参考にTaskController.php
を編集したところ、正常に保存されて表示できました。
TaskController.php
//変更前
$task->due_date = $request->due_date;
//変更後
$task->due_date = $request->due_date = date('Y-m-d H:i:s');
TaskController.php
/**
* GET /folders/{id}/tasks/create
*/
public function showCreateForm(int $id)
{
return view('tasks/create', [
'folder_id' => $id
]);
}
public function create(int $id, CreateTask $request)
{
$current_folder = Folder::find($id);
$task = new Task();
$task->title = $request->title;
// date('Y-m-d H:i:s')を追加!
$task->due_date = $request->due_date = date('Y-m-d H:i:s');
$current_folder->tasks()->save($task);
return redirect()->route('tasks.index', [
'id' => $current_folder->id,
]);