为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel MongoDB pass object in model

Laravel MongoDB pass object in model

PHP
MMTTMM 2022-08-05 16:41:35
我当前的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)



查看完整回答
反对 回复 2022-08-05
  • 1 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信