使用HYDRATE_NONE时MySQL文本字段开头的字符串长度?

时间:2010-03-10 18:56:17

标签: mysql text symfony1 doctrine blob

我正在使用Symfony 1.4和Doctrine。

我将文本作为MySQL文本类型(Doctrine“数组”类型)保存到数据库中,并且它处于干净和放大状态。正确的。

当查询数据时,如果我使用Doctrine_Core :: HYDRATE_ARRAY,数据将按原样返回。但是,如果我使用HYDRATE_NONE,则返回的数据附加了文本长度:

S:45"this is some text from the database"  // where "45" is the length.

这是预期的行为还是我定义了错误的类型?

感谢。

1 个答案:

答案 0 :(得分:1)

您看到的文本是数组的序列化形式。如果您选择不进行水合,您将获得序列化形式,因为Doctrine将数组转换为序列化形式,以便将其存储在MySQL的TEXT列中。 PHP的serialize / unserialize函数对应该提供Doctrine使用的进程类型的示例。