all(), [ 'nisn' => 'required|regex:/^[0-9]+$/', 'tanggalLahir' => 'required|regex:/^[0-9]+$/', ], [ 'required' => 'Kolom :attribute harus diisi.', 'regex' => 'Kolom :attribute tidak sesuai.', ])->validate(); // Look for the given inputs in the resource try { $tanggalLahir = Carbon\Carbon::parse($request->tanggalLahir)->format('Y-m-d'); } catch(Exception $e) { return response()->json([ 'message' => 'The given data was invalid.', 'errors' => [ 'tanggalLahir' => ['Kolom tanggal lahir tidak sesuai.'], ] ], 422); } $siswa = App\Siswa::where('nisn', $request->nisn) ->where('tanggal_lahir', $tanggalLahir) ->first(); // Redirect with error if not found if (!$siswa || $siswa == null) { return response()->json(['errors' => ['siswa' => ['Siswa tidak ditemukan.']]], 404); } // Write to log App\AccessLog::create(['siswa_id' => $siswa->id]); return $siswa; }); Route::get('/access_log', function () { // Get the number of unique access $logs = DB::table('access_logs')->select(DB::raw('count(*) as num')) ->groupBy('siswa_id') ->get() ->count(); // Get the total number of available resource $resources = App\Siswa::count(); return response()->json([ 'accessed' => $logs, 'total' => $resources, ]); });