是否可以更改findBy*
方法以使用实体而不是数组返回对象(我的自定义)?
答案 0 :(得分:8)
使用findOneBy而不是findBy。 findOneBy作为对象返回。
http://www.doctrine-project.org/api/orm/2.2/class-Doctrine.ORM.EntityRepository.html
$obj = $this
->getDoctrine()
->getRepository("VendorXXXBundle:EntityName")
->findOneBy(array $criteria)
答案 1 :(得分:0)
您可能更适合在实体存储库中编写自定义函数。
答案 2 :(得分:0)
这是我肮脏,低技术的方法。
你的findBy *在这里:
$entities = $em->getRepository($entclass)->findBy($entFilter, array('id' => 'DESC'));
我的单线转换:
$entitiesCollection= new \Doctrine\Common\Collections\ArrayCollection($entities);
然后我确认我可以使用那些方便的ArrayCollection方法,如last(),count(),contains()等。
var_dump($entitiesCollection->count(), $entitiesCollection); print \strftime('%c') . __FILE__ . __LINE__ . __FUNCTION__; die;