{{ Auth::user()->name }} 如何在 blade 文件中打印用户名?

How {{ Auth::user()->name }} is able to print username in blade file?

我一直在使用 laravel 中的默认身份验证功能。我在一个 blade 文件中发现 Auth::user()->name 能够显示存储在用户 table..但我想知道的是它如何能够通过 eloquent 调用在 blade 中显示名称。

您可以为 blade 使用原版 php。只需执行类似 {{ Auth::user()->email }} 的操作即可获取电子邮件,{{ Auth::user()->id }} 可获取 ID 或 {{ Auth::user()->some_column }} 可从当前经过身份验证的用户的数据库中的用户 table 获取 some_column。

Laravel 获得了很棒的文档 laravel docs and somthing good to learn is laracasts.com,其中包含 Jeffrey Way 的视频教程。

你可以这样使用它。

auth()->user()->some_column

检查您数据库中的用户 table 并使用适当的列名称。

您可以像这样在 blade 文件中使用它。 {{ auth()->user()->some_column }}

如果你打算在像 IF 这样的条件语句中使用它,你可以像这样使用它。

@if(auth()->user()->some_column)

很晚了,为了以后-

应该在后面执行这些步骤-

当您使用 Auth facade 登录时,Auth::user() 连接到默认的 'users' table(可以参考文档更改)并获取所有针对 用户名或电子邮件 的数据,无论您用于验证用户身份。

之后,使用 Auth::user()->columnname 从相应用户(其 username/email 在上面被识别)的 columnname 检索数据并显示它。此数据可用于 blade tp 渲染。

当用户注销时Auth::user()与数据库断开连接(Auth::logout()之后的命令)并重复上述步骤重新登录。