php - Laravel route is redirecting too many times -
i using laravel 5.4 project , scenario if user
not have clubs
created on login redirect user
clubs/create
page.
below route page coding
directory structure routes/backend/access.php
route::group([ 'prefix' => 'access', 'as' => 'access.', 'namespace' => 'access', ], function () { route::group([ 'middleware' => ['access.routeneedsrole:3', 'first.run'] ], function () { /* * clubs management */ route::group(['namespace' => 'clubs'], function () { route::get('create', 'clubscontroller@showcreateorganiser')->name('clubs.showcreateorganiser'); /* * specific club */ route::group(['prefix' => 'clubs/{club}'], function () { // access route::get('login-as', 'clubscontroller@loginas')->name('clubs.login-as'); }); //for when admin logged in user backend route::get('logout-as', 'clubscontroller@logoutas')->name('clubs.logout-as'); /*clubs crud*/ route::resource('clubs', 'clubscontroller'); //for datatables route::post('clubs/get', 'clubstablecontroller')->name('clubs.get'); }); }); });
below firstrunmiddleware.php
code
class firstrunmiddleware { public function handle($request, closure $next) { if (clubs::scope()->count() === 0) { return redirect()->route('admin.access.clubs.showcreateorganiser'); } $response = $next($request); return $response; } }
it redirects many times , error message redirected many times
.
what doing wrong here??
its because when redirected create page, middleware work again! , check clubs , redirect same page again, , on.
you need make create rout out of firstrunmiddleware
scope.
Comments
Post a Comment