user(); /** @var \Illuminate\Database\Eloquent\Builder */ $alerstQuery = $user->alerts()->whereNull('seen_at'); /** @var Collection */ $alerts = $alerstQuery->get(); $alerstQuery->update([ 'seen_at' => now(), ]); return response()->json($this->format($alerts)); } /** * Format * * @param Collection $alerts * @return Collection */ public function format(Collection $alerts): Collection { return $alerts->map(fn (Alert $alert) => [ 'name' => $alert->name, 'value' => $alert->value, ]); } }