【问题标题】:Laravel 8 how do we get authenticated users email addressLaravel 8我们如何获得经过身份验证的用户电子邮件地址
【发布时间】:2021-03-11 11:49:15
【问题描述】:

我正在尝试自动获取经过身份验证的用户电子邮件并使用 Livewire 插入到数据库表中

Auth::User()->email;

但这不起作用。

它显示以下错误 Symfony\Component\ErrorHandler\Error\FatalError 常量表达式包含无效操作

【问题讨论】:

  • 显示你正在使用的代码

标签: php laravel


【解决方案1】:

要确定用户是否已经登录到您的应用程序,请执行 Auth::check(),此方法位于 Auth 门面,如果用户已通过身份验证:

use Illuminate\Support\Facades\Auth;

if (Auth::check()) {
    dd(Auth::user()->email);
}

【讨论】:

  • 很好的解释
  • 它有效,但我想要分配 Auth::user()->email;到 $email 变量 public $email = Auth::user()->email;然后我得到这个错误 Symfony\Component\ErrorHandler\Error\FatalError 常量表达式包含无效操作
  • @Chamila 这是因为静态变量中包含一个常量值。但在您的情况下,Auth::user()->email; 是动态的,可以在执行期间更改其值。这就是显示错误的原因
【解决方案2】:

最后,这对我有用

public function mount()
        {
            $this->phone = Auth::user()->phone;
            $this->email = Auth::user()->email;
        }

【讨论】:

    猜你喜欢
    • 2020-08-17
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多