【问题标题】:SQLSTATE[HY000]: General error: 1364 Field 'user_id' doesn't have a default value (SQLSQLSTATE[HY000]:一般错误:1364 字段“user_id”没有默认值(SQL
【发布时间】:2018-01-30 09:18:41
【问题描述】:

我正在尝试根据我的用户 ID 保存我的数据,但我收到了这个错误。

我的代码是:

        \App\Keys::create([
         $user = \Illuminate\Support\Facades\Auth::user(),
        'user_id' => $user,
        'accessTokenKey' => $accessTokenKey,
        'accessTokenSecret' => $accessTokenSecret
    ]);
    return 'You have successfully granted';

我收到错误 user_id 没有默认值,当我通过 Auth::user()->id 时,它说试图获取非对象 id 的属性。

任何帮助将不胜感激!

【问题讨论】:

  • 您没有经过身份验证的用户1
  • Auth::user()->id 仅在任何用户登录时才给您一个 id!
  • 我的用户已登录,但没有保存我的 user_id。
  • 这个问题我该怎么办
  • 为什么要在 create 方法中分配用户?

标签: php laravel validation


【解决方案1】:

那是因为您没有任何经过身份验证的用户

if(Auth::check()){
        \App\Keys::create([
          $user = \Illuminate\Support\Facades\Auth::user(),
          'user_id' => Auth::id(),
          'accessTokenKey' => $accessTokenKey,
          'accessTokenSecret' => $accessTokenSecret
      ]);
}else{
    //logged in the user or
    return 'User is not logged in ';
}

【讨论】:

  • @syed1234 是创建所需的 user_id 吗?
  • 是的,因为我想根据 user_id 保存我的密钥
  • 所以我们需要一个登录用户否则不要创建密钥
  • 正是我想针对我的登录用户保存我的密钥
  • 然后首先登录该用户,然后创建此部分!您可以在登录后轻松获取当前用户!
猜你喜欢
  • 2017-11-10
  • 2019-01-05
  • 2020-05-25
  • 2021-03-22
  • 2021-09-10
  • 2019-12-01
  • 2021-05-23
  • 2019-05-09
  • 2019-09-10
相关资源
最近更新 更多