您的位置:首页 > 编程语言 > PHP开发

laravel 使用非自增主键异常的问题(UUID/GUID)

2019-07-30 16:43 781 查看

使用 laravel 操作 mysql 时,若表中使用非自增例如 UUID 或其他自定义字符串主键,需要修改一些属性,否则在查询时会出现一些数据异常。

1. keyType

  • 该字段设定了主键的数据类型。
  • 要将其改为
    string
    ,默认为
    int
  • 默认情况下,会因为’纯数字字符串‘主键强制转换为 int 类型导致数据错误,’其他字符串‘会变为’0‘。

2. incrementing

  • 该字段设定 model 是否维护自增主键。
  • 要将其改为
    false
    ,默认为
    true
  • 默认情况下,
    create
    一条新数据后,无论使用
    getKey
    方法还是直接获取返回模型的 id 属性都无法得到正确的主键值。

附:常用的 model 属性

  1. hidden:转换为数组是隐藏的字段
  2. visible:转换为数组时展示的字段

hidden 和 visible 同时包含一个字段时,该字段会隐藏

  1. attributes:为字段设定默认值
    格式:
  2. dates:为作为时间处理的字段
  3. dateFormat:时间格式设定
  4. observables:自定义的观察者
  5. dispatchesEvents:事件触发的 map

6、7 在下一篇详述

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: