doctrine2 find方法返回数组而不是ArrayCollection

时间:2013-08-12 15:15:08

标签: symfony doctrine-orm arraycollection

我对Doctrine2查找方法有疑问。 它们都以数组而不是ArrayCollection的形式返回。

有没有强制他们返回一个ArrayCollection?我记得这也发生在自定义存储库查询中。我不得不这样做:新的ArrayCollection($ result)。

1 个答案:

答案 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;