按 Laravel 计划检查身份验证

check authentication on Laravel schedule

我有这样的安排

$schedule->call(function () {
     $mial->getMail(Auth::user()->id);
})->everyMinute();

告诉我这个错误

In Kernel.php line 37:

Trying to get property of non-object

当我 运行 这个命令再次显示这个错误时

$schedule->call(function () {
    echo Auth::user()->id;
})->everyMinute();

我需要检查身份验证。

你不能那样做,因为用户没有运行预定的命令,所以auth()->user()对象将永远是null

要解决此问题,您可以将用户 ID 保存在数据库中,并在计划的命令执行时获取数据。

您无法通过命令行检查 auth,因为命令没有关于会话的任何信息。它根本不关心 HTTP / 浏览器