Laravel 5 - 如何在控制器中获取Auth用户ID,检索用户数据并在视图中显示该数据

use*_*502 1 php laravel-5

作为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]);
}
Run Code Online (Sandbox Code Playgroud)

档案视图:

<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>
Run Code Online (Sandbox Code Playgroud)

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

Bjö*_*örn 6

您尝试显示用户,但您只有一个用户(登录的用户).此外,您可以通过使用Auth facade来简化它,而不是通过其他数据库调用来获得相同的用户.

控制器:

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

视图:

<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>
Run Code Online (Sandbox Code Playgroud)