如何获得Doctrine TEXT类型?

时间:2015-01-29 05:36:08

标签: mysql symfony doctrine

我有这个注释:

/**
 * @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。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:14)

您在文档中引用的类型不正确。在您的代码中,您有type="string",但您对文档的引用与type="object"

相关

如果您在引用的文档中阅读了上表中的部分,那么如果string未超过MySQL的最大长度,则会在MySQL中将VARCHAR转换为length,并且如果MEDIUMTEXT超过,则投放到length

但是如果您想明确TEXT字段,则需要使用type="text"定义列。

答案 1 :(得分:2)

您需要设置长度:

To TINYTEXT => length = 255
To TEXT => length = 65535
To MEDIUMTEXT = 16777215
Default: LONGTEXT

然后,例如,如果您需要输入文字,则有必要: /** * @ORM\Column(name="description", type="text", length=65535) */