user(); $activeTimeEntriesOfUser = TimeEntry::query() ->whereBelongsTo($user, 'user') ->whereNull('end') ->orderBy('start', 'desc') ->get(); if ($activeTimeEntriesOfUser->count() > 1) { Log::warning('User has more than one active time entry.', [ 'user' => $user->getKey(), ]); } $activeTimeEntry = $activeTimeEntriesOfUser->first(); if ($activeTimeEntry !== null) { return new TimeEntryResource($activeTimeEntry); } else { throw new ModelNotFoundException('No active time entry'); } } }