什么是使用Doctrine的findBy方法并返回数组而不是对象的最干净的方法?
Doctrine::getTable('Table')->findOneById(x);
这个方法能够返回一个Doctrine对象。
虽然我仍然希望能使用find方法,但我知道无法添加。
->fetchArray()
最后。
还有其他人遇到过这个问题吗?
在使用魔法查找器时,您可以指定水合模式,如下所示:
Doctrine_Core::getTable('Table')->findOneById($x, Doctrine_Core::HYDRATE_ARRAY);
Haim Evgi和DuoSRX的答案是正确的,但在使用Symfony时,我更喜欢稍微不同的版本:
假设您的模型名称是Person,则可以使用以下代码:
PersonTable::getInstance()->findOneById(x)->toArray();
或者
PersonTable::getInstance()->findOneById($x, Doctrine_Core :: HYDRATE_ARRAY);
$adCampaign = $em->createQuery('select c from \Model\Campaign c where c.client = ?1')
->setParameter(1, $clientId)
->getArrayResult();
em是entityManager - 你可以通过getArrayResult方法将结果以数组形式返回