Doctrine “的语法是什么?”;选项“;在原则2.1中@列注释?

Doctrine “的语法是什么?”;选项“;在原则2.1中@列注释?,doctrine,doctrine-orm,Doctrine,Doctrine Orm,我试图在Doctrine 2.1中定义一个列(使用注释),该列映射到MySQL中的固定长度字符列。使用fixed=true不起作用。注释 * @ORM\Column(type="string", length=49, fixed=true, nullable=false) 它会导致一个错误:“在属性[name here]上声明的注释@ORM\Column没有名为“fixed”的属性。可用属性:名称、类型、长度、精度、比例、唯一性、可为空、选项、columnDefinition”。所以我假设“固

我试图在Doctrine 2.1中定义一个列(使用注释),该列映射到MySQL中的固定长度字符列。使用fixed=true不起作用。注释

* @ORM\Column(type="string", length=49, fixed=true, nullable=false)
它会导致一个错误:“在属性[name here]上声明的注释@ORM\Column没有名为“fixed”的属性。可用属性:名称、类型、长度、精度、比例、唯一性、可为空、选项、columnDefinition”。所以我假设“固定”位需要在“选项”中传递。但是怎么做呢?我已经浏览了条令2.1文档,但找不到任何关于这方面的信息

我试过了

* @ORM\Column(type="string", length=49, options="fixed=true", nullable=false)
这不会导致错误,但会被忽略——创建的列是VARCHAR(49)

我宁愿不使用列定义

有什么建议吗


谢谢

在注释中添加固定数据类型需要在Doctrine中使用用户定义的函数。关于如何设置这些的说明非常可读

Benjamin Eeberlei的存储库中还有一个MySQL查询函数库,您可能会发现它有助于扩展Doctrine的本机功能,以适应特定于MySQL的特性


不幸的是,它没有包括您正在寻找的数据类型,但它可能有助于作为一个模型来设置您所需要的内容。祝您好运,如果您找到适合您的解决方案,请发布。

正确的语法如下:

@ORM\Column(type="string", length=49, options={"fixed":true}, nullable=false)

有人告诉我为什么这是一个如此秘密的信息要找到。问题是两年前。。。正是在我需要这些信息的时候,上帝才在16小时前派帕特里克来这里和我分享这些信息!非常感谢。