apiToken = $request->bearerToken(); if ($this->apiToken === null) die("Le token d'authentification est incorrect"); $brand = Brand::whereHas('services', function (Builder $query) { $query->where("api_token", hash('sha256', $this->apiToken)); })->first(); if (!$brand) die("Le token d'authentification est incorrect"); $serviceStat = ServiceStat::firstOrNew(['date' => date('Y-m-d')]); $serviceStat->brand_id = $brand->id; $serviceStat->service_id = Service::where('api_token', hash('sha256', $this->apiToken))->first()->id; $serviceStat->nb_calls = $serviceStat->nb_calls === 0 ? 1 : $serviceStat->nb_calls + 1; $serviceStat->save(); $request->request->add(['brand_id' => $brand->id]); return $next($request); } }