首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原理findBy*方法和fetch数组

原理findBy*方法和fetch数组
EN

Stack Overflow用户
提问于 2011-04-05 21:19:56
回答 4查看 25.4K关注 0票数 3

使用Doctrine findBy方法但得到返回的数组而不是对象的最干净的方式是什么?

代码语言:javascript
复制
Doctrine::getTable('Table')->findOneById(x);

这是可行的,但会返回一个理论对象。

我仍然希望能够使用find方法,但我知道我不能添加

代码语言:javascript
复制
->fetchArray()

在最后。

还有别的人有这个问题吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-05 21:28:40

尝试使用toArray

代码语言:javascript
复制
Doctrine::getTable('Table')->findOneById(x)->toArray();
票数 3
EN

Stack Overflow用户

发布于 2011-04-05 21:39:29

您可以在使用magic finders时指定水合模式,如下所示:

代码语言:javascript
复制
Doctrine_Core::getTable('Table')->findOneById($x, Doctrine_Core::HYDRATE_ARRAY);
票数 20
EN

Stack Overflow用户

发布于 2011-04-05 21:49:27

Haim Evgi和DuoSRX的答案是正确的,但在使用Symfony时,我更喜欢这两者的版本略有不同:

假设你的模型名是Person,你可以使用:

PersonTable::getInstance()->findOneById(x)->toArray();

PersonTable::getInstance()->findOneById($x, Doctrine_Core::HYDRATE_ARRAY);

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5552511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档