public function serializeCollection(VisitorInterface $visitor, Collection $collection, array $type, Context $context) { if ($collection instanceof \Doctrine\ORM\PersistentCollection) { if (!$collection->isInitialized()) { return; } } return parent::serializeCollection($visitor, $collection, $type, $context); }
/** * Return the slice from any given collection, using optimized queries for unitialized PersistentCollections. * * @param Collection $collection * @param int $limit * @param int $offset * @return array */ public function getSlice(Collection $collection, $limit, $offset = 0) { if ($collection instanceof PersistentCollection && !$collection->isInitialized()) { return $this->getSliceQuery($collection, $limit, $offset)->getResult(); } else { $col = $collection->toArray(); return \array_slice($col, $offset, $limit); } }