<?php

namespace App\Http\Controllers\Backend2;

use App\Models\District;
use App\Models\Province;
use App\Models\Ward;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class LocationController extends Controller
{
    //
    public function getProvince(Request $request)
    {
        $query = $request->input('query');
        $term = null;
        if(isset($query['term']))
        {
            $term = $query['term'];
        }
        $items = Province::query()
            ->when(!empty($term), function($q) use ($term) {
                $q->where('name', 'LIKE', '%'.$term.'%');
            })
            ->take(10)
            ->get()
            ->map(function($item) {
                return [
                    'id' => $item->provinceid,
                    'text' => $item->name
                ];
            })
            ->toArray();
        return response([
            'results' => $items
        ]);
    }

    public function getDistrict(Request $request)
    {
        $query = $request->input('query');
        $term = null;
        if(isset($query['term']))
        {
            $term = $query['term'];
        }
        $items = District::query()
            ->when(!empty($term), function($q) use ($term) {
                $q->where('name', 'LIKE', '%'.$term.'%');
            })
            ->take(10)
            ->get()
            ->map(function($item) {
                return [
                    'id' => $item->districtid,
                    'text' => $item->name
                ];
            })
            ->toArray();
        return response([
            'results' => $items
        ]);
    }

    public function getWard(Request $request)
    {
        $query = $request->input('query');
        $term = null;
        if(isset($query['term']))
        {
            $term = $query['term'];
        }
        $items = Ward::query()
            ->when(!empty($term), function($q) use ($term) {
                $q->where('name', 'LIKE', '%'.$term.'%');
            })
            ->take(10)
            ->get()
            ->map(function($item) {
                return [
                    'id' => $item->wardid,
                    'text' => $item->name
                ];
            })
            ->toArray();
        return response([
            'results' => $items
        ]);
    }
}
