如何通过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
相关产品推荐
相关产品推荐

