我当前的MongoDB模式使用自定义UUID对象类型作为。我正在尝试使用 在我的用户模型中生成一个新的。我找不到有关如何将对象数据类型传递到模型中的任何解决方案。_idUUID$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的方法。它必须是对象类型,而不是字符串。我尝试过通过使用传递新对象来做到这一点,但它也不接受它。Web服务器曾经在NodeJS上,使用对象作为数据类型没有任何问题。数据库已经有许多使用 UUID 二进制对象作为_id的记录。User::create(Uuid::uuidv4())我也尝试过使用许多库。许多不使用Laravel 6.x,或者那些工作的那些不返回二进制格式。
1 回答
Qyouu
TA贡献1786条经验 获得超11个赞
解决方案是使用该方法。不接受我所看到的变量。我使用PHP的二进制类将ramsey / uuidv4转换为UUID类型:User::create()
protected $attributes = []
new Binary(Uuid::uuid4()->getBytes(), Binary::TYPE_UUID)
- 1 回答
- 0 关注
- 92 浏览
添加回答
举报
0/150
提交
取消