是否可以更改findBy*
方法以返回带有实体而不是数组的对象(我的自定义)?
使用 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)
在
实体存储库中编写自定义函数可能更好。
这是我肮脏的、低技术含量的方法。
您的发现者*在这里:
$entities = $em->getRepository($entclass)->findBy($entFilter, array('id' => 'DESC'));
我的单行转换在这里:
$entitiesCollection= new DoctrineCommonCollectionsArrayCollection($entities);
然后我确认我可以使用那些方便的 ArrayCollection 方法,如 last()、count()、contains() 等。
var_dump($entitiesCollection->count(), $entitiesCollection); print strftime('%c') . __FILE__ . __LINE__ . __FUNCTION__; die;