Boa tarde Vinícius! Gostaria de tirar uma dúvida! Estou com o seguinte erro ao tentar salvar os episódios assistidos.
in_array() expects parameter 2 to be array, null given
<?php
namespace App\Http\Controllers;
use App\Episodio;
use App\Temporada;
use Illuminate\Http\Request;
class EpisodiosController extends Controller
{
public function index(Temporada $temporada, Request $request)
{
/*Codigo Anterior*/
$episodios = $temporada->episodios;
$temporadaId = $temporada->id;
$mensagem = $request->session()->get('mensagem');
return view('episodios.index', compact('episodios','temporadaId','mensagem'));
/****Ou Usar Assim */
/* return view('episodios.index', [
$episodios => $temporada->episodios,
$temporadaId => $temporada->id,
$mensagem = $request->session()->get('mensagem')
]);*/
}
public function assistir(Temporada $temporada, Request $request)
{
//var_dump($request->episodios);
$episodiosAssistidos = $request->episodios;
$temporada->episodios->each(function (Episodio $episodio)
use($episodiosAssistidos) {
$episodio->assistido = in_array(
$episodio->id,
$episodiosAssistidos
);
});
$temporada->push();
$request->session()->flash('mensagem', 'Episódios marcados como assistidos');
return redirect()->back();
}
}
@extends('layout')
@section('cabecalho')
Episódios
@endsection
@section('conteudo')
@include('mensagem', ['mensagem' => $mensagem])
<form action="/temporadas/{{ $temporadaId }}/episodios/assistir" method="post">
@csrf
<ul class="list-group">
@foreach($episodios as $episodio)
<li class="list-group-item d-flex justify-content-between align-itens-center">
Episódio {{ $episodio->numero }}
<input type="checkbox"
name="episodio[{{ $episodio->id }}][assistido]"
{{ $episodio->assistido ? 'checked' : '' }}
</li>
@endforeach
</ul>
<button class="btn btn-primary mt-2 mb-2">Salvar</button>
</form>
@endsection