validate(['q' => 'sometimes|nullable|string|max:100', 'source' => 'sometimes|required|integer|min:1']); abort_if(array_diff(array_keys($request->query()), array_keys($data)) !== [], 422); return $data; } public function index(Request $request, SupplierPayables $service) { return response()->json($service->report($request->user(), $this->criteria($request)))->header('Cache-Control', 'no-store'); } public function page(Request $request, SupplierPayables $service) { return response()->view('purchasing.payable-report', ['report' => $service->report($request->user(), $this->criteria($request))])->header('Cache-Control', 'no-store'); } }