No router quando coloco o código abaixo vem os dados corretos como na imagem.
route::post('/seasons/{season}/episodes', function (\Illuminate\Http\Request $request){ dd($request->all()); });
Mas quando chamo o EpisodesController como abaixo dá erro de valor null
Route::post('/seasons/{season}/episodes', [EpisodesController::class, 'update'])->name('episodes.update');
vi que o erro está vindo do nulo para o $watchedEpisodes quando recebe o dado do $request->episodes
não entendo pq no primeiro roter acima chamando o request dá certo e depois pelo controller dá nulo
<?php
namespace App\Http\Controllers;
use App\Models\Episode;
use App\Models\Season;
use illuminate\Http\Request;
class EpisodesController {
public function index(Season $season) {
return view('episodes.index', ['episodes' => $season->episodes]);
}
public function update(Request $request, Season $season) {
$watchedEpisodes = $request->episodes;
//dd($request->episodes);
$season->episodes->each(function (Episode $episode) use ($watchedEpisodes) {
$episode->whatched = in_array($episode->id, $watchedEpisodes);
});
$season->push();//salva as alterações da model atual e seus relacionamentos
return to_route('episodes.index', $season->id)->with('mensagem.sucesso', 'Episódios marcados como assistidos'); }
}
no laravel.log vem o erro indentifica acima [2023-01-07 01:18:16] local.ERROR: in_array(): Argument #2 ($haystack) must be of type array, null given {"exception":"[object] (TypeError(code: 0): in_array(): Argument #2 ($haystack) must be of type array, null given at D:\PHP\projetos\controle-series\app\Http\Controllers\EpisodesController.php:18) [stacktrace]
#0 D:\PHP\projetos\controle-series\app\Http\Controllers\EpisodesController.php(18): in_array(10, NULL)
https://github.com/hnhostins/controle-series
na minha controller update logo no começo pus esse comando para ver se estava passando o metodo post, mas está indo o get
dd($uri = $request->method());