1
resposta

Laravel Parte 2

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();
}
1 resposta

Leandro, os dados de episódio não chegaram no request. :-)