【问题标题】:Laravel 5 Auth::id() returns NULL in UserFactory.phpLaravel 5 Auth::id() 在 UserFactory.php 中返回 NULL
【发布时间】:2019-02-25 20:33:05
【问题描述】:

我想将经过身份验证的用户 ID 存储在我的一张表中。在我的 UserFactory.php 中我写了

$factory->define(App\Programming::class, function (Faker $faker) {
return [

    'name' => $faker->name,
    'user_id'=>Auth::id(),

];});

我已登录并且use Illuminate\Support\Facades\Auth 也包含在顶部。我在播种数据时收到以下错误

错误: SQLSTATE[23000]:违反完整性约束:1048 列 'user_id' 不能为空。

任何解决方案?提前致谢!

【问题讨论】:

  • 您记录了Auth::id() 的值吗? user_id 可以填写吗?
  • Auth::id() 在我的控制器中工作正常,我通过使 user_id 可填充来检查。我认为它不适用于可填充字段,因为没有 user_id 字段我可以插入其他数据。

标签: authentication laravel-5 null


【解决方案1】:

在分配给变量之前尝试先检查

use Illuminate\Support\Facades\Auth;

if (Auth::check()) {
    $user_id = Auth::id();
}
dd($user_id);

【讨论】:

  • 使用 Auth::check() 也会返回 null。但是我已经登录了!我不明白发生了什么事。 @ViperTecPro
  • 尝试在隐身模式下运行,php artisan config:cache, php artisan config:clear
猜你喜欢
  • 2019-02-02
  • 2019-10-26
  • 2021-11-04
  • 1970-01-01
  • 2019-09-20
  • 2016-05-13
  • 2020-08-14
  • 1970-01-01
  • 2017-03-17
相关资源
最近更新 更多