如何在表便捷方法中指定 HYDRATE_ARRAY?

发布于 2024-11-27 03:46:34 字数 174 浏览 0 评论 0原文

使用 Doctrine 2,当我使用便捷方法 EntityRepository::findEntityRepository::findOneById 时,有什么方法可以指定 HYDRATE_ARRAY 吗?我是否必须编写自己的 DQL 查询并使用它?

With Doctrine 2, is there any way to specify HYDRATE_ARRAY when I use the convenience methods EntityRepository::find or EntityRepository::findOneById? Do I have to write my own DQL query, and use that instead?

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

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

发布评论

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

评论(1

萌︼了一个春 2024-12-04 03:46:34

我不确定,但我认为你不能。

您必须编写自己的 DQL,或者获取一个对象,然后将其序列化为数组。

第二种方法可能较慢,但对于测试环境来说很方便。我使用了此处找到的beberleis序列化类。

它工作正常,除了你不能序列化对象中的一对多多对多关系,换句话说,任何应该序列化为集合的东西的物体。

顺便提一句。如果您没有php5.4,只需将trait替换为抽象类,并让所有模型对象继承自该类

I'm not sure, but I think you can't.

You will have to write your own DQL, or fetch an object and later serialize it to an array.

Second approach is probably slower, but it comes handy for testing environment. I have used beberleis serialization class found here.

It works ok, except you can't serialize one-to-many and many-to-many relations in an object, in other words anything that should serialize as an collection of objects.

Btw. if you don't have php5.4, just replace the trait with an abstract class, and have all your model object inherit from that class

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