Devise\Pages\PageManager::findAvailableRoute PHP Method

findAvailableRoute() protected method

This helper method keeps looking through suggested route names and adding a number onto the suggested route until it finds an available one that isn't taken in the database. We don't want route names to be the same ever as they should be unique so this helps us accomplish that.
protected findAvailableRoute ( string $suggestedRoute, $languageId ) : string
$suggestedRoute string
return string
    protected function findAvailableRoute($suggestedRoute, $languageId)
    {
        $sanity = 0;
        $modifiedRoute = $suggestedRoute;
        if ($languageId != $this->Config->get('devise.languages.primary_language_id')) {
            $language = $this->Language->findOrFail($languageId);
            $modifiedRoute = $language->code . '-' . $suggestedRoute;
        }
        while ($this->Page->where('route_name', '=', $modifiedRoute)->count() > 0 && $sanity++ < 100) {
            $modifiedRoute .= '-' . $sanity;
        }
        return $modifiedRoute;
    }