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