我正在使用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.
这是预期的行为还是我定义了错误的类型?
感谢。
答案 0 :(得分:1)
您看到的文本是数组的序列化形式。如果您选择不进行水合,您将获得序列化形式,因为Doctrine将数组转换为序列化形式,以便将其存储在MySQL的TEXT
列中。 PHP的serialize / unserialize函数对应该提供Doctrine使用的进程类型的示例。