2626use Tmdb \Model \Common \SpokenLanguage ;
2727use Tmdb \Model \Common \Translation ;
2828use Tmdb \Model \Company ;
29+ use Tmdb \Model \Network ;
2930use Tmdb \Model \Person \CastMember ;
3031use Tmdb \Model \Person \CrewMember ;
3132use Tmdb \Model \Tv ;
@@ -249,7 +250,7 @@ public function create(array $data = []): ?AbstractModel
249250 $ watchProviders = new GenericCollection ();
250251 foreach ($ data ['watch/providers ' ]['results ' ] as $ iso31661 => $ countryWatchData ) {
251252 $ countryWatchData ['iso_3166_1 ' ] = $ iso31661 ;
252-
253+
253254 foreach (['flatrate ' , 'rent ' , 'buy ' ] as $ providerType ) {
254255 $ typeProviders = new GenericCollection ();
255256 foreach ($ countryWatchData [$ providerType ] ?? [] as $ providerData ) {
@@ -259,14 +260,14 @@ public function create(array $data = []): ?AbstractModel
259260 if (isset ($ providerData ['provider_name ' ])) {
260261 $ providerData ['name ' ] = $ providerData ['provider_name ' ];
261262 }
262-
263+
263264 $ providerData ['iso_3166_1 ' ] = $ iso31661 ;
264265 $ providerData ['type ' ] = $ providerType ;
265266 $ typeProviders ->add (null , $ this ->hydrate (new Watch \Provider (), $ providerData ));
266267 }
267268 $ countryWatchData [$ providerType ] = $ typeProviders ;
268269 }
269-
270+
270271 $ watchProviders ->add ($ iso31661 , $ this ->hydrate (new Watch \Providers (), $ countryWatchData ));
271272 }
272273 $ tvShow ->setWatchProviders ($ watchProviders );
@@ -343,6 +344,19 @@ public function create(array $data = []): ?AbstractModel
343344 );
344345 }
345346
347+ if (array_key_exists ('episode_groups ' , $ data ) && array_key_exists ('results ' , $ data ['episode_groups ' ])) {
348+ $ episodeGroupCollection = new GenericCollection ();
349+
350+ foreach ($ data ['episode_groups ' ]['results ' ] as $ episodeGroup ) {
351+ if (!is_null ($ episodeGroup ['network ' ])) {
352+ $ episodeGroup ['network ' ] = $ this ->hydrate (new Network (), $ episodeGroup ['network ' ]);
353+ }
354+
355+ $ episodeGroupCollection ->add (null , $ this ->hydrate (new Tv \EpisodeGroups (), $ episodeGroup ));
356+ }
357+ $ tvShow ->setEpisodeGroups ($ episodeGroupCollection );
358+ }
359+
346360 return $ this ->hydrate ($ tvShow , $ data );
347361 }
348362
0 commit comments