laravel 中 'field list' 中的未知列 'uuid'

Unknown column 'uuid' in 'field list' in laravel

我正在尝试在我的 "users" [=52] 中创建一个包含 UUID 的列 "unique" =] 我不希望它成为主要的,当我尝试注册用户时,我遇到了这个错误 "Unknown column 'uuid' in 'field list'" 我创建了一个新的 laravel 项目,并在其上使用了 "Auth" 命令 如果您有任何其他方法来执行此操作,请分享我只想为我的用户提供一个唯一的 5 到 8 个字符的代码

这是我的用户迁移:-

public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->uuid('unique');
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

这是我的用户模型:-

<?php

namespace App;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Webpatser\Uuid\Uuid;
use App\Models\Concerns\UsesUuid;
use Illuminate\Support\Str;

class User extends Authenticatable
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */

     protected $guarded = []; // YOLO



  public $incrementing = false;


   protected $keyType = 'string';

   protected static function boot()
   {
     parent::boot();
  self::creating(function ($user) {
      $user->uuid = (string) Uuid::generate(4);
  });
   }


    protected $fillable = [
        'name', 'email', 'password', 'uuid',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];


}

这是我的数据库的照片:-

这是我第一次使用 UUID,所以我按照教程做了 因为我是 laravel 的初学者以及编程我不知道是什么问题 请帮忙

-谢谢

您的迁移脚本创建的列 unique 而不是 uuid,这就是您得到 column uuid not not found 的原因。 (请查看您的 phpmyadmin 屏幕截图第二列)

将此 $table->uuid('unique'); 更改为 $table->uuid('uuid')->unique();,这可能会为您创建一个 uuid 列。