2

我对 Doctrine2 查找方法有疑问。它们都作为数组而不是 ArrayCollection 返回。

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

4

1 回答 1

1

这是我肮脏,低技术的方法。

// 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;  
于 2015-01-13T12:49:11.470 回答