【问题标题】:What is syntax for "options" in Doctrine 2.1 @Column annotation?Doctrine 2.1 @Column 注释中“选项”的语法是什么?
【发布时间】:2011-10-26 13:36:46
【问题描述】:

我正在尝试在 Doctrine 2.1(使用注释)中定义一个映射到 MySQL 中固定长度 CHAR 列的列。使用 fixed=true 并不能完成这项工作。注释

* @ORM\Column(type="string", length=49, fixed=true, nullable=false)

它会导致错误:“在属性 [name here] 上声明的注释 @ORM\Column 没有名为“fixed”的属性。可用属性:名称、类型、长度、精度、比例、唯一性、可为空,选项,列定义”。所以我假设需要在“选项”中传递“固定”位。但是怎么做?我搜索了 Doctrine 2.1 文档,但找不到任何关于此的内容。

我试过了

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

不会导致错误,但会被忽略 -- 创建的列是 VARCHAR (49)。

我不想使用 columnDefinition。

有什么建议吗?

谢谢

【问题讨论】:

    标签: doctrine doctrine-orm


    【解决方案1】:

    正确的语法是这样的:

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

    【讨论】:

    • 有人告诉我为什么要找到这样一个秘密信息。问题是两年前的问题......正是当我需要信息时,上帝才在 16 小时前派帕特里克来到这里与我分享这个!谢谢!
    【解决方案2】:

    在注释中添加 FIXED 数据类型将需要 Doctrine 中的用户定义函数。关于如何设置这些的documentation 非常易读。

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

    很遗憾,它不包含您正在寻找的数据类型,但它可能有助于作为模型来设置您需要的数据。祝您好运,如果您找到适合您的解决方案,请发布。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-31
      • 2016-04-20
      • 1970-01-01
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      • 2012-02-05
      • 2018-09-29
      相关资源
      最近更新 更多