with(['negeri:kodnegeri,negeri', 'daerah:koddaerah,namadaerah']) ->when(request()->query_string, function ($q) { return $q->where('poskod', 'like', '%' . request()->query_string . '%') ->orWhereHas('negeri', function ($b) { $b->where(DB::raw('lower(negeri)'), 'like', '%' . strtolower(request()->query_string) . '%'); }) ->orWhereHas('daerah', function ($b) { $b->where(DB::raw('lower(namadaerah)'), 'like', '%' . strtolower(request()->query_string) . '%'); }); }) ->paginate(12); return response() ->json($poskod) ->header('query_string', request()->query_string); } public function showOnePoskod($poskod) { $poskod = Poskod::on('mysql7') ->with(['negeri:kodnegeri,negeri', 'daerah:koddaerah,namadaerah']) ->where('poskod', '=', $poskod) ->first(); return response()->json($poskod); } public function store(Request $request) { if (Poskod::where('poskod', $request->poskod)->exists()) { return response()->json("Daftar poskod tidak dibenarkan, poskod {$request->poskod} sudah wujud", 403); } $created_poskod = Poskod::create([ 'poskod' => $request->poskod, 'koddaerah' => $request->koddaerah, 'kodnegeri' => $request->kodnegeri, ]); return response()->json($created_poskod, 200); } public function update(Request $request) { if (Poskod::where('poskod', $request->poskod)->exists()) { return response()->json("Kemaskini poskod tidak dibenarkan, poskod {$request->poskod} sudah wujud", 403); } $updated_poskod = Poskod::find($request->recno); $updated_poskod->update([ 'poskod' => $request->poskod, 'koddaerah' => $request->koddaerah, 'kodnegeri' => $request->kodnegeri, ]); return response()->json($updated_poskod, 200); } }