Boa Tarde Vinicius! Gostaria de tirar uma dúvida!
Ao tentar salvar os episódios selecionados ocorreu este erro:
array_keys() expects parameter 1 to be array, null given
Meu código:
Rota
Route::get('/temporadas/{temporada}/episodios', 'EpisodiosController@index'); Route::post('/temporadas/{temporada}/episodios/assistir', 'EpisodiosController@assistir');
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
]);*/
}
public function assistir(Temporada $temporada, Request $request)
{
$idsEpisodiosAssistidos = array_keys($request->episodio);
$temporada->episodios->each(function (Episodio $episodio) use($idsEpisodiosAssistidos) {
$episodio->assistido = in_array(
$episodio->id,
$idsEpisodiosAssistidos
);
});
$temporada->push();
$request->session()->flash('mensagem', 'Episódios marcados como assistidos');
return redirect()->back();
}