如何获得 Doctrine TEXT 类型?
How to get Doctrine TEXT type?
我有这个注释:
/**
* @ORM\Column(name="notes", type="string", length=65532, nullable=true)
*/
protected $notes;
根据此文档 - http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html#id102 因为它小于 65535 应该是 TEXT?
但是该列创建为 MEDIUMTEXT。
我该如何解决这个问题?
您在文档中引用的类型不正确。在您的代码中,您有 type="string"
但您对文档的引用与 type="object"
.
有关
如果您在参考文档中阅读上面 table 的部分,您会看到 string
在 MySQL 中转换为 VARCHAR
if length
不超过 MySQL 的最大长度,如果 length
超过,则转换为 MEDIUMTEXT
。
但是如果您想明确获得 TEXT
字段,您需要使用 type="text"
.
定义您的列
您需要设置长度:
To TINYTEXT => length = 255
To TEXT => length = 65535
To MEDIUMTEXT = 16777215
Default: LONGTEXT
然后,例如,如果你需要一个类型的文本,它是必要的:
/**
* @ORM\Column(name="description", type="text", length=65535)
*/
我有这个注释:
/**
* @ORM\Column(name="notes", type="string", length=65532, nullable=true)
*/
protected $notes;
根据此文档 - http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html#id102 因为它小于 65535 应该是 TEXT?
但是该列创建为 MEDIUMTEXT。
我该如何解决这个问题?
您在文档中引用的类型不正确。在您的代码中,您有 type="string"
但您对文档的引用与 type="object"
.
如果您在参考文档中阅读上面 table 的部分,您会看到 string
在 MySQL 中转换为 VARCHAR
if length
不超过 MySQL 的最大长度,如果 length
超过,则转换为 MEDIUMTEXT
。
但是如果您想明确获得 TEXT
字段,您需要使用 type="text"
.
您需要设置长度:
To TINYTEXT => length = 255
To TEXT => length = 65535
To MEDIUMTEXT = 16777215
Default: LONGTEXT
然后,例如,如果你需要一个类型的文本,它是必要的:
/**
* @ORM\Column(name="description", type="text", length=65535)
*/