Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] E se eu quisesse dar um update no numero de temporadas e episodios?

Eu tentei por um tempo e não consegui pensar em como implementar um update que iria alterar o numero de temporadas e episodios relacionados a serie, e se eu inserisse menos temporadas?

1 resposta
solução!

Criei essa função aqui no repositorio de series para poder alterar o numero de temporadas e episodios, acho que não é uma ideia muito inteligente pq ele seria um update, mas no fim ele deleta as temporadas e episodios anteriores para inserir novos, os mantendo relacionados a serie através do series_id, fiz mais para brincar com o Eloquent e Query Builder do laravel :)

    public function update(Series $series, SeriesFormRequest $request){

        $series->name = $request->name;
        $series->save();

        return DB::transaction(function () use ($series, $request) {

            DB::table('seasons')
                ->where('series_id', $series->id)
            ->delete();

            DB::table('episode')
                ->where('series_id', $series->id)
                ->delete();

            for ($i = 0; $i <= $request->seasonsQty; $i++) {
                $seasons[] = [
                    'series_id' => $series->id,
                    'number' => $i,
                ];
            }
            Seasons::insert($seasons);

            $seasons = Seasons::where('series_id', $series->id)
                ->get();

            $episode = [];
            foreach ($seasons as $season) {
                for ($j = 1; $j <= $request->episodesPerSeason; $j++) {
                    $episode[] = [
                        'series_id' => $series->id,
                        'seasons_id' => $season->id,
                        'number' => $j
                    ];
                }
            }
            Episode::insert($episode);

            return $series;

        });
    }