【问题标题】:Laravel 5 - How to get Auth user ID in controller, retrieve user data and display that data in viewLaravel 5 - 如何在控制器中获取 Auth 用户 ID、检索用户数据并在视图中显示该数据
【发布时间】:2015-09-03 05:31:49
【问题描述】:

Laravel 5 框架(和 OOP)的新手,我想创建一个视图,用户可以在登录时查看/编辑他自己的用户配置文件。

在控制器中获取 Auth 用户 ID、检索用户数据(从 DB)并在配置文件视图中显示该数据的语法是什么。

我尝试了以下方法,但不起作用。

控制器:

/**
 * Show the application user profile to the user.
 *
 * @return Response
 */
public function profile()
{

    $users = User::find(Auth::user()->id);

    return view('profile')->with(['users' => $users]);
}

个人资料视图:

<div class="row">
    <div class="col-md-10 col-md-offset-1">
        <div class="panel panel-default">
            <div class="panel-heading">Profil</div>

            <div class="panel-body">
                Your user id is: {{ Auth::user()->id }}.

    <table>
@foreach($users as $user)
    <tr>
        <td>{{ $user->first_name }}</td>
        <td>{{ $user->last_name }}</td>

    </tr>
@endforeach
    </table>



            </div>
        </div>
    </div>
</div>

谢谢。任何帮助将不胜感激

【问题讨论】:

  • find() 返回一个模型,而不是模型的集合,所以不要使用 foreach 而只是访问属性

标签: php laravel-5


【解决方案1】:

您尝试显示用户,但您只有一个用户(已登录的用户)。您也可以通过仅使用 Auth 外观而不进行其他数据库调用来获取相同的用户来简化它。

控制器:

public function profile()
{
    $user = Auth::user();
    return view('profile')->with(['user' => $user]);
}

查看:

<div class="panel-body">
    Your user id is: {{ $user->id }}
    Your first name is: {{ $user->first_name }}
    Your last name is: {{ $user->last_name }}
</div>

【讨论】:

  • 我添加了使用身份验证;在我的控制器顶部,它工作!你摇滚!非常感谢
  • 使用认证;是强制性的,因此寻求者不要混淆另一个错误来纠正自己。
猜你喜欢
  • 2019-01-25
  • 2021-09-24
  • 2017-07-31
  • 2015-10-13
  • 1970-01-01
  • 1970-01-01
  • 2021-12-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多