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

如何通过YML文件将Id属性映射为Symfony Ulid类型?

解决Doctrine YML映射Ulid ID的生成器错误

你遇到的错误是因为YML配置里指定的生成器类不对。注解方式中使用的doctrine.ulid_generator是Symfony预先注册的服务ID,而非Symfony\Component\Uid\Ulid类本身,这才是Doctrine能正确识别的自定义生成器。

正确的YML映射配置如下:

App\Entity\User:
  type: entity
  repositoryClass: App\Entity\UserRepository
  table: user
  id:
    id:
      type: ulid
      unique: true
      generator:
        strategy: CUSTOM
        class: doctrine.ulid_generator

关键修改点:将generator.class的值从Symfony\Component\Uid\Ulid替换为doctrine.ulid_generator。这个服务由Symfony提供,专门用于为Doctrine生成Ulid类型的ID,符合Doctrine自定义ID生成器的要求。

内容的提问来源于stack exchange,提问作者roizer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 10:31:12