Skip to content

Instantly share code, notes, and snippets.

@charliepage88
Created June 2, 2017 17:44
Show Gist options
  • Save charliepage88/694df5a1ba36fe64850b382f9eb9beb5 to your computer and use it in GitHub Desktop.
Save charliepage88/694df5a1ba36fe64850b382f9eb9beb5 to your computer and use it in GitHub Desktop.
Redirecting user based on role and route for /myusername
<?php
// model function
public function getRedirectTo()
{
switch($this->role->slug) {
case 'admin':
$route = 'admin.dashboard';
break;
case 'member':
$route = 'home';
break;
case 'editor':
$route = 'admin.dashboard';
break;
}
return $route;
}
// controller login snippet
if (Auth::attempt($data)) {
$user = User::where('id', '=', Auth::user()->id)->with('role')->first();
return redirect()->route($user->getRedirectTo())->with('success', 'You have been logged in.');
}
// route example (last line)
Route::get('/{username}', [ 'as' => 'users.profile.view', 'uses' => '\App\Modules\Users\Http\Controllers\UsersController@profile' ]);
// OR
$users = User::all();
foreach($users as $user) {
Route::get('/' . $user->username, [ 'as' => 'users.profile.view', 'uses' => '\App\Modules\Users\Http\Controllers\UsersController@profile' ]);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment