Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

não passa o valor pra a seasons

Não está passando o valor id da série para o seasons\index.blade.php , mas o valor existe no series\index.blade.php, conforme figura abaixo:

<x-layout tittle="Séries">
    <a href="{{ route('series.create') }}" class="btn btn-primary mb-2" >Adicionar</a>

    @isset($mensagemSucesso)
    <div class=“alert alert-success”>
        {{ $mensagemSucesso }}
    </div>
    @endisset

    <ul class="list-group">
            @foreach ($series as $serie)
            <li class="list-group-item d-flex justify-content-between align-items-center">
                <a href="{{ route('seasons.index', $serie->id) }}">
                    {{ $serie->nome }}
                </a>

                <span class="d-flex">
                    <a hef href="{{ route('series.edit', $serie->id) }}" class="btn btn-primary btn-sm">
                       Editar
                    </a>   

                    <form action="{{ route('series.destroy', $serie->id) }}" method="post" class="ms-2">
                    @csrf
                    @method('DELETE')
                        <button class="btn btn-danger btn-sm">
                           Excluir
                        </button>   
                    </form>
                </span>    
            </li>
        @endforeach
    </ul>
</x-layout>

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

no seasons\index.blade.php só aparece o título

<x-layout tittle="Temporadas de {!! $series-> nome !!}">
    <ul class="list-group">
        @foreach ($seasons as $season)
            <li class="list-group-item d-flex justify-content-between align-items-center">
                    Temporada {{ $season->number }}

                <span class="badge bg-secondary">
                    {{ $season->episodes->count() }}
                </span>    
            </li>
        @endforeach
    </ul>
</x-layout>

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Coloquei um dd no SeasonsController pra ver o q chegava e vai vazio

<?php

namespace App\Http\Controllers;

use App\Models\Series; 

class SeasonsController extends Controller
{
    public function index(Series $series){
        dd($series);
        $seasons = $series->seasons()->with('episodes')->get();

        return view('seasons.index')->with('seasons', $seasons)->with('series', $series);
    }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

4 respostas

Olá, Herlon. Tudo bem?

Pela URL que está aparecendo no inspecionar elemento, parece que a rota não está definida corretamente.

Você pode verificar se no diretório de routes arquivo web.php a sua rota está assim:

web.php

    Route::get('/series/{series}/seasons', [SeasonsController::class, 'index'])->name('seasons.index');

Se isso não resolver o problema, você consegue subir o seu projeto no GitHub ou no drive para que eu possa analisar?

Espero ter ajudado =)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓

Está idêntico ao meu web.php. Segue meu git abaixo

https://github.com/hnhostins/controle-series

solução!

Herlon, muito obrigado por disponibilizar seu código!

Analisando seu código do arquivo web.php, o código abaixo está dessa forma:

Route::get('/series/{series)/seasons', [SeasonsController::class, 'index'])->name('seasons.index');

E deveria está assim:

 Route::get('/series/{series}/seasons', [SeasonsController::class, 'index'])->name('seasons.index');

series precisa está entre {} e você colocou entre {).

Além disso, retire o dd($series) que você adicionou na função index() da SeasonsController.php

Com essas alterações, acredito que irá funcionar como esperado =)

isso msm.. não enxerguei o ) ao invés do }

grato