/** * @param array $data * @param Pagination $object * @return object */ public function hydrate(array $data, $object) { if (!isset($data['items'])) { return $object; } $albumCollection = new AlbumCollection(); foreach ($data['items'] as $album) { $hydrators = new AggregateHydrator(); $hydrators->add(new AlbumHydrator()); $hydrators->add(new ImageCollectionAwareHydrator()); $albumCollection->add($hydrators->hydrate($album, new Album())); } $object->setItems($albumCollection); return $object; }
/** * @param array $data * @param AlbumCollection $object * @return AlbumCollection */ public function hydrate(array $data, $object) { if (!isset($data['albums'])) { return $object; } foreach ($data['albums'] as $album) { $hydrators = new AggregateHydrator(); $hydrators->add(new AlbumHydrator()); $hydrators->add(new ArtistCollectionAwareHydrator()); $hydrators->add(new ImageCollectionAwareHydrator()); $hydrators->add(new PaginatedTrackCollectionAwareHydrator()); $object->add($hydrators->hydrate($album, new Album())); } return $object; }