*/ public function rules() { return [ 'organizer' => 'required|max:255', 'event_name' => 'required|max:255', 'completed_at' => 'required|date', 'course_id' => 'required|exists:courses,id', ]; } public function persist(Member $member): void { $course = Course::where('id', $this->input('course_id'))->firstOrFail(); $payload = array_merge( $this->only(['event_name', 'completed_at', 'organizer']), ['course_id' => $course->nami_id], ); try { $namiId = auth()->user()->api()->createCourse($member->nami_id, $payload); } catch(NamiException $e) { throw ValidationException::withMessages(['id' => 'Unbekannter Fehler']); } $member->courses()->create($this->safe()->collect()->put('nami_id', $namiId)->toArray()); } }