Tengo en el controlador la consulta y los JOINS:
public function index(Request $request)
{
$search = $request->get('search');
$accommodations = Accommodation::search($request->search)
->join("cities","cities.id","=","accommodations.city_id")
->join("regions","regions.id","=","cities.region_id")
->join("provinces","provinces.id","=","cities.province_id")
->join("users","users.id","=","accommodations.user_id")
->paginate(12);
return view('admin/accommodations/index', compact('accommodations'));
}
Luego el Query Scope:
public function scopeSearch($query, $search)
{
if (trim($search) != "")
return $query->where(DB::raw("CONCAT(title, ' ', street, ' ', city, ' ', first_name, ' ', last_name, ' ', price, ' ', province, ' ', region)"), "LIKE", "%$search%");
}
Las búsquedas me funcionan bien, mientras consulto individualmente, ejemplo: Miramar, San Isidro, etc... Los busca en el campo City
O sí busco: La provincia, por alguna palabra que componga el titulo por precio, etc... Individualmente, pero necesito poder escribir: Posadas en Miramar y que me haga la búsqueda de coincidencias en ambos campos, city y title
¿Cómo podría lograrlo?
PD: en un cuadro de texto (Input) llamado search obtengo lo que el usuario escribe, y en base a ello se realiza la búsqueda.