/** * @param array $data * @param Pagination $object * @return object */ public function hydrate(array $data, $object) { if (!isset($data['items'])) { return $object; } $trackCollection = new TrackCollection(); foreach ($data['items'] as $track) { $trackCollection->add(new Track($track)); } $object->setItems($trackCollection); return $object; }
/** * @param array $data * @param object $object * @return object */ public function hydrate(array $data, $object) { if (!isset($data['tracks'])) { return $object; } $paginatedTrackCollection = new TrackPagination($data['tracks']); $trackCollection = new TrackCollection(); foreach ($paginatedTrackCollection->getItems() as $track) { $trackCollection->add(new Track($track)); } $paginatedTrackCollection->setItems($trackCollection); $object->setTracks($paginatedTrackCollection); return $object; }
/** * @param array $data * @param TrackCollection $object * @return TrackCollection */ public function hydrate(array $data, $object) { if (!isset($data['tracks'])) { return $object; } foreach ($data['tracks'] as $track) { $hydrators = new AggregateHydrator(); $hydrators->add(new TrackHydrator()); $hydrators->add(new AlbumAwareHydrator()); $hydrators->add(new ArtistCollectionAwareHydrator()); $hydrators->add(new ImageCollectionAwareHydrator()); $object->add($hydrators->hydrate($track, new Track())); } return $object; }