Laravel 5,在使用UUID时无法获取刚刚保存的模型的ID

Sal*_*lar 2 uuid laravel eloquent laravel-5 laravel-5.2

我将 Laravel Eloquent 用于我的帖子表,并将 UUID 用于我的表的主键。但是在保存模型后,我无法从中获取 ID,尽管所有值都正确插入到数据库中。

$post = new App\Post();
$post->uuid  = \Webpatser\Uuid\Uuid::generate();
$post->save();
dd($post->uuid); //return null or 0
Run Code Online (Sandbox Code Playgroud)

添加访问器或使用$post->getKey()无法解决我的问题。

Sal*_*lar 6

根据 Laravel API 文档,Eloquent 模型有一个布尔属性$incrementing,用于指示 ID 是否自动递增。要在我们的模型中使用 UUID,我们必须像这样将此变量设置为 false:

public $incrementing = false;
Run Code Online (Sandbox Code Playgroud)

  • 但是这样做之后我们无法访问 id 属性 (2认同)