模型保存时,Eloquent主键默认值为null

时间:2017-07-13 13:47:38

标签: postgresql laravel eloquent primary-key uuid

我使用UUID作为laravel中的主键 UUID不是由eloquent生成的,而是由postgresql中的默认值生成的 默认值为uuid_generate_v1mc()。此功能来自uuid-ossp包。正确生成了id。

但现在问题了。
例如,我正在创建一个用户:

$user = User::create(['email' => 'adsf', 'name' => 'adsf', 'password' => 'adf'])

这将返回没有id的用户模型。我发现我必须在模型上做fresh()才能获得默认值。但是当我这样做时,我得到null。我认为这是因为新功能需要id。但是没有它。

用户模型有public $incrementing = false;。这样设置正确。

创建它时,如何获得完整的用户模型(以干净的方式)?对于用户来说,电子邮件是唯一的,因此我可以根据名称获取用户。但是对于其他表格,这可能不起作用。

0 个答案:

没有答案
相关问题