я пытаюсь создать столбец "уникальный" , заполненный UUID, в моей таблице "users" , я не хочу, чтобы он был основным и при попытке зарегистрировать пользователя я сталкиваюсь с этой ошибкой "Неизвестный столбец 'uuid' в 'списке полей'" Я создал новый 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, а также программировал, я не знаю, в чем суть проблемы Пожалуйста, помогите
-Спасибо