Please I need help, I have 2 select options fields of categories and states and a city input field. I will like to perform a search if category is only selected or if category and state is selected or if category, state and city is selected or if category and city is selected. I am using laravel framework for my project.
public function searchVendor (Request $request) {
$vendors = DB::table('vendors')
->join('categories', 'categories.id', '=', 'vendors.vendor_category_id')
->join('countries', 'countries.id', '=', 'vendors.country_id')
->join('states', 'states.id', '=', 'vendors.state_id')
->join('cities', 'cities.id', '=', 'vendors.city_id')
->select('vendors.*', 'categories.name as category_name', 'countries.name as country_name', 'states.name as state_name', 'cities.name as city_name')
->where([['vendors.vendor_category_id',$request->cid],['vendors.state_id',$request->state],['cities.name','LIKE',"%$request->location%"]])
->orderBy('vendors.featured', 'asc')
->paginate(21);
$venues = Menu::where('parent',8)->get();
$states = State::all();
return view('pages.search')->withVenues($venues)->withVendors($vendors)->withStates($states);
}
That is my search controller so far, but is not giving me what I want. Please help