What is syntax for “options” in Doctrine 2.1 @Column annotation?
我试图在条令2.1(使用注释)中定义一个列,它映射到MySQL中的固定长度的char列。使用fixed=true不起作用。注释
1 | * @ORM\Column(type="string", length=49, fixed=true, nullable=false) |
它会导致错误:"在属性[此处名称]上声明的批注@ormcolumn没有名为"fixed"的属性。可用属性:名称、类型、长度、精度、比例、唯一、可以为空、选项、列定义"。所以我假设"固定"位需要在"选项"中传递。但是如何呢?我已经仔细研究了条令2.1的文档,没有发现任何关于这方面的内容。
我试过
1 | * @ORM\Column(type="string", length=49, options="fixed=true", nullable=false) |
这不会导致错误,但会被忽略——创建的列是varchar(49)。
我宁愿不使用列定义。
有什么建议吗?
谢谢
正确的语法是:
1 | @ORM\Column(type="string", length=49, options={"fixed":true}, nullable=false) |
在注释中添加一个固定的数据类型需要一个用户定义的条令函数。关于如何设置这些的文档非常易读。
Benjamin Eeberlei的DoctrineExtensions存储库中还有一个mysql查询函数库,您可能会发现它有助于扩展条令的本地功能,以适应mysql的特定特性。
不幸的是,它不包括您要查找的数据类型,但作为一个模型,它可能对设置您需要的数据类型很有帮助。祝你好运,如果你找到一个适合你的解决方案,请发帖。