在Laravel 5.6中有新的UUID方法,我该如何使用它们?

Laz*_*tle 3 php uuid laravel

在Laravel 5.6中,UUID在这个包下添加了几种新方法

use Illuminate\Support\Str;

如果我做这样的事情: dd(Str::uuid());

我得到以下输出:

DegradedUuid {#215 ?
  #codec: StringCodec {#217 ?
    -builder: DegradedUuidBuilder {#218 ?
      -converter: DegradedNumberConverter {#221}
    }
  }
  #fields: array:6 [?
    "time_low" => "fbf262eb"
    "time_mid" => "e1a3"
    "time_hi_and_version" => "43f4"
    "clock_seq_hi_and_reserved" => "b1"
    "clock_seq_low" => "2f"
    "node" => "7be1b2e7490f"
  ]
  #converter: DegradedNumberConverter {#221}
}
Run Code Online (Sandbox Code Playgroud)

我之前从未使用过UUID,但我正在尝试创建测试电子邮件验证/确认身份验证.我做了一些谷歌搜索,我以为我应该得到这样的字符串:fbf262eb-e1a3-43f4-b1-2f-7be1b2e7490f

然后将其存储在我的数据库中并从那里开始.我在哪里不理解这个或者出错了?

另外,我通读这篇文章试图了解UUID是什么 UUID是什么?

但是我如何使用这些新方法呢?

sam*_*sam 11

如果您希望直接访问该值,则该方法返回一个对象,然后将其转换为字符串,例如:

$uuid = (string) Str::uuid();
Run Code Online (Sandbox Code Playgroud)

https://laravel.com/docs/5.6/helpers#method-str-uuid

  • 实际上,应该使用“ Str :: uuid()-> toString()”,使用Ramsey \ Uuid \ UuidInterface(至少在Laravel 5.6中可用)中的方法来遵循接口的承诺。 (5认同)