我对Doctrine2查找方法有疑问。 它们都以数组而不是ArrayCollection的形式返回。
有没有强制他们返回一个ArrayCollection?我记得这也发生在自定义存储库查询中。我不得不这样做:新的ArrayCollection($ result)。
答案 0 :(得分:0)
这是我肮脏,低技术的方法。
// your findBy* here:
$entities = $em->getRepository($entclass)->findBy($entFilter, array('id' => 'DESC'));
// my one-liner conversion here:
$entitiesCollection= new \Doctrine\Common\Collections\ArrayCollection($entities);
然后我确认我可以使用那些方便的ArrayCollection方法,如last(),count(),contains()等。
var_dump($entitiesCollection->count(), $entitiesCollection); print \strftime('%c') . __FILE__ . __LINE__ . __FUNCTION__; die;