猿问

当用户登录时,将 id 传递给经过身份验证的用户的 url

我正在跟踪一些代码,每次尝试向用户显示帖子时,它都会手动将用户 ID 传递到 url,例如“http://127.0.0.1:8000/home/1”。如何在不输入 url 的情况下完成此操作


首页.blade.php

@foreach($user->posts as $post)

                <div class="col-4">

                    <img src="/storage/{{$post->image}}" class="w-30" alt="">

                </div>

路线

Route::get('/home/{user}', 'HomeController@index')->name('home');

家庭控制器

  public function index(User $user)

{

  //


  return view('home', compact('user'));

}


叮当猫咪
浏览 183回答 4
4回答

Cats萌萌

就这样使用<a&nbsp;href="{{&nbsp;url('')&nbsp;}}/home/{{$user->id}}"></a>或者<a&nbsp;href="{{route('home',['user'=>$user->id])}}"></a>在这里您可以了解如何传递变量。

郎朗坤

如果您想在登录后重定向用户,您可以修改RedirectIfAuthenticated中间件app/http/middleware:public function handle($request, Closure $next, $guard = null){&nbsp; &nbsp; if (Auth::guard($guard)->check()) {&nbsp; &nbsp; &nbsp; &nbsp; return redirect()->route('home',array('user' => $request->user()));&nbsp; &nbsp; }&nbsp; &nbsp; return $next($request);}

largeQ

id以这种方式传递给url&nbsp;&nbsp;&nbsp;&nbsp;$user&nbsp;=&nbsp;Auth::guard('web')->id();&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;redirect()->route('home',['user'=>$user]);

慕莱坞森

用户登录后将通过以下方式重定向到其 id 的主页登录控制器&nbsp; */protected function redirectTo()&nbsp; {&nbsp;$user = Auth::guard('web')->id();&nbsp; &nbsp; return route('home',['user'=>$user]);&nbsp; &nbsp;&nbsp; &nbsp;}&nbsp;笔记到家庭控制器的路由应该有变量“user”Route::get('/user/{user}', 'HomeController@index')->name('home');
随时随地看视频慕课网APP
我要回答