You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 11.33.2中UUID作为主键访问时被截断的问题

问题原因及解决方案

这个问题的核心是Laravel模型默认将主键识别为整数类型,即便你在数据库迁移里把id设为UUID字符串,模型依然会尝试把它转换成整数。UUID3246c4a7-9757-11e8-80d0-00155dbf5a2a在转整数时,只会读取到第一个非数字字符(即c)之前的部分,因此被截断为3246。

解决方法很简单,只需在Product模型中添加两个属性:

class Product extends Model
{
    // 指定主键类型为字符串
    protected $keyType = 'string';

    // 关闭主键自增(UUID并非自增字段)
    public $incrementing = false;
}

添加完成后,再次访问Product::first()->id或调用toArray(),就能获取完整的UUID值了。

内容的提问来源于stack exchange,提问作者Александр Инженер

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 01:32:31