public static function deleteLaravelRoutes()
{
$laravelRoutes = \Route::getRoutes();
$dbRoutes = \App\Models\Route::all();
$dbRoutesToDelete = [];
$cnt = 0;
foreach ($dbRoutes as $dbRoute) {
$dbRouteActionName = $dbRoute->action_name;
$laravelRoute = null;
// Try to find by action
$laravelRoute = $laravelRoutes->getByAction($dbRouteActionName);
// Try to find by name
if (null == $laravelRoute) {
$dbRouteName = $dbRoute->name;
$laravelRoute = $laravelRoutes->getByName($dbRouteName);
}
// Laravel route not found, add to list to delete.
if (null == $laravelRoute) {
$dbRoutesToDelete[] = $dbRoute->id;
}
}
if (($cnt = count($dbRoutesToDelete)) > 0) {
\App\Models\Route::destroy($dbRoutesToDelete);
}
return $cnt;
}
/** * @return \Illuminate\View\View */ public function load() { Audit::log(Auth::user()->id, trans('admin/routes/general.audit-log.category'), trans('admin/routes/general.audit-log.msg-load')); $nbRoutesLoaded = \App\Models\Route::loadLaravelRoutes('/.*/'); $nbRoutesDeleted = \App\Models\Route::deleteLaravelRoutes(); Flash::success(trans('admin/routes/general.status.synced', ['nbLoaded' => $nbRoutesLoaded, 'nbDeleted' => $nbRoutesDeleted])); return redirect('/admin/routes'); }