Boa noite.
Quando eu segui os passos dessa aula "Salvando no banco" do módulo 3. Assistindo Episódios, minha aplicação está retornando 403 (unauthorized). Poderiam me ajudar como corrigir e como entender este erro para situações futuras? Meu código abaixo:
ROUTE
// Rotas de Episódios
Route::get('/seasons/{season}/episodes', [EpisodesController::class, 'index'])->name('episodes.index')->whereNumber('season');
Route::post('/seasons/{season}/episodes', [EpisodesController::class, 'update'])->name('episodes.update');
EPISODESCONTROLLER
public function update(StoreEpisodeRequest $request, Season $season)
{
dd($request);
$watchedEpisodes = $request->episodes;
$season->episodes->each(function (Episode $episode) use ($watchedEpisodes) {
$episode->completed = in_array($episode->id, $watchedEpisodes);
});
$season->push();
return to_route('episodes.index', $season->id);
}
Obs.: Na minha migration, coloquei como "completed" o que Vinicius colocou como "watched". MIGRATION
public function up(): void
{
Schema::table('episodes', function (Blueprint $table) {
$table->boolean('completed')->default(false);
});
}
BLADE
<x-layout title="Episódios da {!! $season->number !!}ª Temporada">
<form action="{{ route('episodes.update', $season->id) }}" method="post">
@csrf
<ul class="list-group">
@foreach ($episodes as $episode)
<li class="list-group-item d-flex justify-content-between align-items-center">Episódio {{ $episode->number }}
<input @if ($episode->completed) checked @endif type="checkbox" name="episodes[]" value="{{ $episode->id }}"
style="cursor: pointer" />
{{-- Ao colocar o indicador de Array no atributo 'name', o PHP já trata o dado como array ao ser passado --}}
</li>
@endforeach
</ul>
<button type="submit" class="btn btn-primary mt-3">Salvar</button>
</form>
</x-layout>
ERRO