我对 Doctrine2 查找方法有疑问。它们都作为数组而不是 ArrayCollection 返回。
有没有办法强迫他们返回一个 ArrayCollection?我记得这也发生在自定义存储库查询中。我必须这样做:新的 ArrayCollection($result)。
我对 Doctrine2 查找方法有疑问。它们都作为数组而不是 ArrayCollection 返回。
有没有办法强迫他们返回一个 ArrayCollection?我记得这也发生在自定义存储库查询中。我必须这样做:新的 ArrayCollection($result)。
这是我肮脏,低技术的方法。
// 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;