使用Doctrine findBy方法但得到返回的数组而不是对象的最干净的方式是什么?
Doctrine::getTable('Table')->findOneById(x);这是可行的,但会返回一个理论对象。
我仍然希望能够使用find方法,但我知道我不能添加
->fetchArray()在最后。
还有别的人有这个问题吗?
发布于 2011-04-05 21:28:40
尝试使用toArray
Doctrine::getTable('Table')->findOneById(x)->toArray();发布于 2011-04-05 21:39:29
您可以在使用magic finders时指定水合模式,如下所示:
Doctrine_Core::getTable('Table')->findOneById($x, Doctrine_Core::HYDRATE_ARRAY);发布于 2011-04-05 21:49:27
Haim Evgi和DuoSRX的答案是正确的,但在使用Symfony时,我更喜欢这两者的版本略有不同:
假设你的模型名是Person,你可以使用:
PersonTable::getInstance()->findOneById(x)->toArray();
或
PersonTable::getInstance()->findOneById($x, Doctrine_Core::HYDRATE_ARRAY);
https://stackoverflow.com/questions/5552511
复制相似问题