where('parent_id', $parentId) ->orderBy('emergency_contact_name') ->get() ->toArray(); } public function store(int $parentId, array $payload): array { $context = $this->configService->context(); $contact = EmergencyContact::query()->create([ 'parent_id' => $parentId, 'emergency_contact_name' => $payload['name'], 'cellphone' => $this->phoneFormatter->formatPhoneNumber($payload['cellphone']), 'email' => $payload['email'] ?? null, 'relation' => $payload['relation'] ?? null, 'semester' => $context['semester'], 'school_year' => $context['school_year'], ]); return $contact->toArray(); } public function update(int $parentId, int $contactId, array $payload): array { $contact = EmergencyContact::query() ->where('id', $contactId) ->where('parent_id', $parentId) ->firstOrFail(); $contact->update([ 'emergency_contact_name' => $payload['name'], 'cellphone' => $this->phoneFormatter->formatPhoneNumber($payload['cellphone']), 'email' => $payload['email'] ?? null, 'relation' => $payload['relation'] ?? null, ]); return $contact->toArray(); } }