protected function generateUrl($route, array $parameters, $absolute)
{
$queryParams = '';
$resourceParams = [];
foreach ($parameters as $paramName => $paramValue) {
if (strpos(strtolower($paramName), 'id') !== false) {
$resourceParams[$paramName] = $paramValue;
continue;
}
$queryParams .= $paramName . '=' . $paramValue . '&';
}
if ($queryParams !== '') {
$queryParams = '?' . substr($queryParams, 0, -1);
}
$resourceParams = implode('/', $resourceParams);
if (!empty($resourceParams)) {
$resourceParams = '/' . $resourceParams;
}
if ($absolute) {
return Request::createFromGlobals()->getSchemeAndHttpHost() . $route . $resourceParams . $queryParams;
}
return $route . $resourceParams . $queryParams;
}