如何获得 Doctrine TEXT 类型?

How to get Doctrine TEXT type?(如何获得 Doctrine TEXT 类型?)
本文介绍了如何获得 Doctrine TEXT 类型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个注释:

/**
 * @ORMColumn(name="notes", type="string", length=65532, nullable=true)
 */
protected $notes;

根据本文档 - http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html#id102 因为它小于 65535 应该是 TEXT?

According to this document - http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html#id102 because it's less than 65535 it should be TEXT?

但该列被创建为 MEDIUMTEXT.

But the column is created as MEDIUMTEXT.

我该如何解决这个问题?

How do I fix this?

推荐答案

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

You are referencing not correct type in the documentation. In your code you have type="string" but your reference to documentation is related to type="object".

如果您阅读了参考文档中的上表部分,您将看到 string 在 MySQL 中被强制转换为 VARCHAR 如果 length 确实如此不超过 MySQL 的最大长度,如果 length 超过,则转换为 MEDIUMTEXT.

If you read the part of table above in the referenced docs you will see that string is casted to VARCHAR in MySQL if length does not exceed the maximum length for MySQL and is casted to MEDIUMTEXT if length exceeds.

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

But If you want to get explicitly TEXT field you will need to define your column with type="text".

这篇关于如何获得 Doctrine TEXT 类型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)
SQL/MySQL: split a quantity value into multiple rows by date(SQL/MySQL:按日期将数量值拆分为多行)