user(); app('log')->debug('Now in detectUserGroup()'); /** @var null|UserGroup $userGroup */ $userGroup = request()->route()?->parameter('userGroup'); if (null === $userGroup) { app('log')->debug('Request class has no userGroup parameter, but perhaps there is a parameter.'); $userGroupId = (int)request()->get('user_group_id'); if (0 === $userGroupId) { app('log')->debug(sprintf('Request class has no user_group_id parameter, grab default from user (group #%d).', $user->user_group_id)); $userGroupId = (int)$user->user_group_id; } $userGroup = UserGroup::find($userGroupId); if (null === $userGroup) { app('log')->error(sprintf('Request class has user_group_id (#%d), but group does not exist.', $userGroupId)); return null; } app('log')->debug('Request class has valid user_group_id.'); } return $userGroup; } }