Моя текущая схема MongoDB использует пользовательский тип объекта UUID как _id
. Я пытаюсь создать новый UUID
в моей модели пользователя, используя $attributes = [];
. Я не могу найти решение о том, как передать тип данных объекта в мою модель.
Моя модель:
use Authenticatable, Authorizable, CanResetPassword;
protected $connection = 'mongodb';
protected $collection = 'users';
protected $fillable = [
'username', 'email', 'password'
];
protected $attributes = [
'_id' => Uuid\Uuid::uuid4(),
'rank' => 1,
'token' => 0,
'banned' => false,
'vote_count' => 0,
'vote_bank' => 0,
'capeAllowed' => false,
'skin' => null,
'cape' => null,
'verified' => false,
'nameChanges' => 0
];
Я не могу найти способ получить объект UUID в _id. Это должен быть тип объекта, а не строка.
Я пытался сделать это, передавая новый объект, используя User::create(Uuid::uuidv4())
, но он также не принимает его. Веб-сервер был на NodeJS, у которого не было проблем с использованием объекта в качестве типа данных. В базе данных уже есть много записей, использующих двоичный объект UUID в качестве _id.
Я также пытался использовать много библиотек. Многие не работают с Laravel 6.x или те, которые работают, не возвращают двоичный формат.