1
resposta

--OUTRA FORMA-- Eu fiz a contagem e episódios assistidos antes de assistir a aula, ficou menos elegante, vou refatorar rs

fiz antes de assistir a aula, fiz a contagem na mão, e depois enviei a lista de cada total para o badge

controller

<?php

namespace App\Http\Controllers;

use App\serie;
use Illuminate\Http\Request;

class TemporadasController extends Controller
{
    public function index(int $serieId)
    {
        $serie = Serie::find($serieId);
        $temporadas =$serie->temporadas;
        $epAssistidosPorTemporada = [];

        foreach($temporadas as $temporada){
            $numAssistidos =  0;
            foreach ($temporada->episodios as $episodio){
                if($episodio->assistido == true){
                    $numAssistidos++;
                }

            }
            $epAssistidosPorTemporada[] .= $numAssistidos;
        }


        return view('temporadas.index', [
            'serie' => $serie,
            'temporadas' => $temporadas,
            'numAssistidos' => $epAssistidosPorTemporada
        ]);

    }
}

view

@extends('layout')

@section('cabecalho')
Temporadas de <strong>{{$serie->nome}}</strong>
@endsection

@section('conteudo')
    <ul class="list-group">
        @foreach($temporadas as $temporada)
        <li class="list-group-item d-flex justify-content-between align-items-center">
            <a href="/temporadas/{{$temporada->id}}/episodios">
            Temporada {{$temporada->numero}}
            </a>
            <span class="badge badge-secondary">
                <!--num de ep assistidos por temporada / total de ep por temporada-->
                {{$numAssistidos[$temporada->numero -1]}} / {{$temporada->episodios->count()}}
            </span>
        </li>
        @endforeach
    </ul>
@endsection

usar filter é bem mais elegante, e faz o uso do laravel =, então vou refatorar rsrs mas fica aí outra forma de fazer pessoal rs

1 resposta

Boa tarde RAFAEL DE,

Gostei muito do código implementado, acredito que condiz com o proposto sobre a tarefa.

Caso você possuir alguma dúvida compartilha ela aqui conosco para que possamos lhe auxiliar e sanar suas dúvidas.

Ahh e não esquece de avaliar o tópico como solucionado caso esteja sanada a dúvida.

Abraço e até logo!!!