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

发布于 2024-08-24 14:54:41 字数 351 浏览 6 评论 0 原文

我正在使用 Symfony 1.4 和 Doctrine。

我将文本作为 MySQL 文本类型(Doctrine“数组”类型)保存到数据库中,并将其放入 clean & 中。正确的。

当查询回数据时,如果我使用 Doctrine_Core::HYDRATE_ARRAY ,数据将按应有的方式返回。但是,如果我使用 HYDRATE_NONE,则会返回数据并附加文本长度:

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

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

谢谢。

I'm using Symfony 1.4 with Doctrine.

I'm saving text as MySQL text type (Doctrine "array" type) into the database, and it goes in clean & correct.

When querying the data back, if I use Doctrine_Core::HYDRATE_ARRAY the data is returned as it should be. However, if I use HYDRATE_NONE, the data is returned with the text length appended to it:

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

Is this expected behaviour or might I have defined the wrong type?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

此刻的回忆 2024-08-31 14:54:50

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

The text you are seeing is the serialized form of the array. If you choose not to hydrate, you will get the serialized form, as Doctrine converts the array into a serialized form in order to store it in a TEXT column in MySQL. PHP's serialize/unserialize function pairs should provide an example of the type of process used by Doctrine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文