2017-06-12 111 views
0

我想将用户重定向到他们的个人资料,而不是laravel的默认/主页。我已经在我的LoginController中尝试了这一点:protected $ redirectTo ='/ profile/{id}';但它返回此错误:没有找到id:{id}的用户。登录后将用户重定向到他们的个人资料

这是我的路线:Route :: get('/ profile/{id}','ProfileController @ profile');

这是我的个人资料控制器方法:

public function profile(Request $request, $id){ 
    $User = User::with(['complains'])->find($id); 
    if(!$User) return abort(404, 'User with id:'.$id.' not found'); 

    return view('user.profile')->with(['user' => $User, 'complains' => $User- 
    >complains]); 
} 

回答

0

您需要通过ID保护$redirectTo = '/profile/1';

$id = Auth::user()->id; 
`$redirectTo = '/profile/$id';` 

如果使用验证中的LoginController文件中使用验证使用它;

0

您可以修改RedirectIfAuthenticated中间件来实现这一目标:

<?php 

namespace App\Http\Middleware; 

use Closure; 
use Illuminate\Support\Facades\Auth; 

class RedirectIfAuthenticated 
{ 
    /** 
    * Handle an incoming request. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Closure $next 
    * @param string|null $guard 
    * @return mixed 
    */ 
    public function handle($request, Closure $next, $guard = null) 
    { 
     if (Auth::check()) { 
      return redirect()->action('[email protected]', Auth::user()->id); 
     } 
     return $next($request); 
    } 
} 
相关问题