diff --git a/app/Http/Controllers/EjaculationController.php b/app/Http/Controllers/EjaculationController.php index ca731c5..834af24 100644 --- a/app/Http/Controllers/EjaculationController.php +++ b/app/Http/Controllers/EjaculationController.php @@ -54,7 +54,6 @@ class EjaculationController extends Controller $tag = Tag::firstOrCreate(['name' => $tag]); $tagIds[] = $tag->id; } - $ejaculation->tags()->sync($tagIds); return redirect()->route('checkin.show', ['id' => $ejaculation->id])->with('status', 'チェックインしました!'); @@ -102,6 +101,7 @@ class EjaculationController extends Controller 'time' => 'required|date_format:H:i', 'note' => 'nullable|string|max:500', 'link' => 'nullable|url', + 'tags' => 'nullable|string', ])->after(function ($validator) use ($id, $request, $inputs) { // 日時の重複チェック if (!$validator->errors()->hasAny(['date', 'time'])) { @@ -119,6 +119,14 @@ class EjaculationController extends Controller 'is_private' => $request->has('is_private') ?? false ])->save(); + $tags = explode(' ', $inputs['tags']); + $tagIds = []; + foreach ($tags as $tag) { + $tag = Tag::firstOrCreate(['name' => $tag]); + $tagIds[] = $tag->id; + } + $ejaculation->tags()->sync($tagIds); + return redirect()->route('checkin.show', ['id' => $ejaculation->id])->with('status', 'チェックインを修正しました!'); } diff --git a/resources/views/ejaculation/edit.blade.php b/resources/views/ejaculation/edit.blade.php index f37837e..ed94a68 100644 --- a/resources/views/ejaculation/edit.blade.php +++ b/resources/views/ejaculation/edit.blade.php @@ -35,6 +35,23 @@ @endif +
+
+ + +
+
    + +
    + + Tab, Enter, 半角スペースのいずれかで入力確定します。 + + + @if ($errors->has('tags')) +
    {{ $errors->first('tags') }}
    + @endif +
    +
    {{--
    @@ -95,4 +112,54 @@ @endsection @push('script') + @endpush \ No newline at end of file