【问题标题】:Laravel get only on userLaravel 仅在用户上获取
【发布时间】:2021-05-21 09:35:24
【问题描述】:

大家好,我做了一条路线:

Route::get('/dashboard/{user}', [DashboardController::class, 'show'])->name('dashboard.show'); 我的控制器是

public function show($id)
    {
        return view('dashboard.profile')->with('name',User::where($id));
    }

如何将它传递到视图中?所以我只从当前用户/用户 ID 获取数据

【问题讨论】:

  • 如果我理解正确,您将用户 ID 传递给每个路由的视图,但您实际上对该用户不感兴趣,而是对当前登录的用户感兴趣?在这种情况下,这可能会有所帮助:stackoverflow.com/questions/45257981/…

标签: php laravel


【解决方案1】:

您可以使用route model binding 将其简化为:

public function show(User $user)
{
    return view('dashboard.profile', [ 'user' => $user ]);
}

【讨论】:

    【解决方案2】:

    你可以这样做:

    public function show(User $user)
    {
        return view('dashboard.profile', [ 'user' => $user ]);
    }
    

    或者:

        public function show($id)
        {
            $user = User::findOrFail($id);
            return view('dashboard.profile', [ 'user' => $user ]);
        }
    

    或者:

     public function show($id)
     {
         $user = User::where("id",$id)->first();
         return view('dashboard.profile', [ 'user' => $user ]);
     }
    

    如果您需要经过身份验证的用户,请使用:

    auth()->user
    

    【讨论】:

      猜你喜欢
      • 2019-10-01
      • 1970-01-01
      • 2022-10-18
      • 1970-01-01
      • 2021-01-13
      • 1970-01-01
      • 2015-09-16
      • 2016-06-30
      • 1970-01-01
      相关资源
      最近更新 更多