解决Laravel-8中尝试在null上读取属性"id"的问题
P粉194919082
P粉194919082 2023-11-08 14:07:01
0
2
599

运行时出现此错误 php artisan migrate:fresh --seed 此命令将在 MySQL 数据库中创建表,并将数据库详细信息 DB_DATABASE 填充到 .env 文件中。

parent::boot();
    static::creating(function($model)
    {
    $user = Auth::user();
    model->created_by = $user->id ? $user->id : 1 ;
      });
      static::updating(function($model)
      {
       $user = Auth::user();```


Controller:


P粉194919082
P粉194919082

全部回复(2)
P粉786432579

更改此行:

model->created_by = $user->id ? $user->id : 1 ;

对此:

model->created_by = $user ? $user->id : 1 ;

您必须首先检查$user是否为空。

P粉478188786

这里的问题是 $user 的值为 null 并且 null 没有任何属性。

$user 将始终为 null,而您的代码则为 Auth::user() 将是 null 。在执行播种程序期间,您没有经过身份验证的用户

如果您想将 User 分配给您的 $model 并且您已为 User 表播种,您可以获得一个 用户这样

$model->created_by = \App\Models\User::where('id', 5)->first();

如果您不想要特定的用户,那么您可以这样做:

$model->created_by = \App\Models\User::inRandomOrder()->first();
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板