<?php

namespace App\Http\Controllers\Frontend;


use App\Models\Amenity;
use App\Models\NewsType;
use App\Models\PostAmentitie;
use App\Models\PostNews;
use App\Models\Province;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class FindRoomController extends Controller
{
    //
    public function index(Request $request)
    {

        $provinceData = Province::get();

        $fee_content = PostNews::where('fee', true)->limit(4)->orderBy('id')->get();

        $news_types = NewsType::get();

        $amenities = Amenity::where('user_id', 0)->get();

        return view('frontend3.find_room.index', compact('provinceData', 'fee_content', 'news_types', 'amenities'));
    }

    public function getDistrict(Request $request)
    {
        $prov_id = $request->province_id;
        $district = \DB::table('district')->where('provinceid', $prov_id)->get();
        return response([
            'status' => true,
            'data' => $district,
        ]);
    }

    public function getRoomList(Request $request)
    {
        //tìm kiếm
        $province = $request->province;
        $search = $request->search;
        $page = (int)$request->get('page', 1);
        $price = $request->price;
        $typepost = $request->typepost;
        $district = $request->district;
        $data = PostNews::query();

        if ($search != null) {
            $data->where('title', 'like', "%$search%");
            //->orwhere('description', 'like', "%$search%");
        }
        if ($province != null) {
            $data->where('province', '=', $province);
        }
        if ($price != null) {
            $data->whereBetween('price', $price);
        }
        if ($typepost != null) {
            $data->whereIn('type_id', $typepost);
        }
        if ($district != null) {
            $data->where('district', $district);
        }
        $data = $data->orderBy('id', 'desc')->paginate(5, ['*'], 'page', $page);

        $amenity = PostAmentitie::query()
            ->select('post_amenities.post_id','amenities.id','amenities.name')
            ->leftJoin('amenities', 'post_amenities.amenity_id','=','amenities.id')->get();

        return response([
            'status' => true,
            'data' => $data,
            'amenity'=>$amenity,
        ]);
    }
}
