Quando tento desmarcar TODOS os checkboxes e clico em salvar, aparece o seguinte erro:
array_keys() expects parameter 1 to be array, null given
Ou seja, eu sou obrigado a deixar pelo menos 1 checkbox marcado para que a aplicação funcione corretamente. Se eu quiser zerar a contagem de episódios assistidos eu não consigo. Como posso contornar essa situação?
Abaixo está o código referente ao erro do array_keys() no EpisodiosController.php
<?php
namespace App\Http\Controllers;
use App\Models\Episodio;
use App\Models\Temporada;
use Illuminate\Http\Request;
class EpisodiosController extends Controller
{
public function index(Temporada $temporada, Request $request)
{
$episodios = $temporada->episodios;
$temporadaId = $temporada->id;
$mensagem = $request->session()->get('mensagem');
return view('episodios.index', compact('episodios', 'temporadaId', 'mensagem'));
}
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 com sucesso!');
return redirect()->back();
}
}