Laravel | Как выполнять поиск по нескольким атрибутам - PullRequest
0 голосов
/ 04 августа 2020

Я создаю веб-сайт недвижимости и выполняю поиск по количеству атрибутов, но проблема в том, что в контроллере поиска у меня очень большой код, и его очень сложно обрабатывать. Есть ли другое решение в laravel?

$list_property = Listing_property::where([
        ['property_type', $request['property_type']],
        ['city', $request['city']],
        ['location', $request['location']],
        ['property_area_type', $request['property_area_type']],
        ['property_size', $request['property_size']],
        ['price', $min],
        ['price', $max]
    ])
    ->orderBy('updated_at', 'DESC')
    ->paginate(21);

введите описание изображения здесь

1 Ответ

2 голосов
/ 04 августа 2020

Самый простой способ поиска по нескольким столбцам:

public function search(Request $request){

    $query = $request->search;
    
    $users = DB::table('users');        

   if($query){
      $users = $users->where('name', 'LIKE', "%$query%");
    }

    if($request->city){
      $users = $users->where('city',$request->city);
    }

    if($request->town){
      $users = $users->where('town', $request->town);
    }

   if($request->unit){
      $users = $users->where('unit', $request->unit);
    }

    $users->get();
    return view('users.index')->with('users', $users);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...