Laravel: раскрывающийся список операторов IF - PullRequest
0 голосов
/ 06 апреля 2020

Так что у меня сейчас есть выпадающий список, в котором он выведет список отелей на основе его цены. Теперь я хочу доработать раскрывающийся список, чтобы он мог выводить список отелей на основе цены и расстояния. Как бы я точно создал выпадающий список, который будет выводить список отелей на основе 2 или более критериев.

SearchController. php

public function index(Request $request)
 {
  $distances = DB::table('posts')->select('distance')->distinct()->get()->pluck('distance');
  $prices = DB::table('posts')->select('price')->distinct()->get()->pluck('price');

  $postsInRange = $request->has('distance')
  ? Post::where('distance', $request->distance)->get()
  : [];
  $postsInRange1 = $request->has('price')
  ? Post::where('price', $request->price)->get()
  : [];

   return view('Pages.search', [
  'distances' => $distances,
  'prices' => $prices,
  'posts' => $postsInRange,
  'posts' => $postsInRange1,
 ]);


 }

   public function store(Request $request)
     {
      // This will return all request data to your screen.
       return $request->all();
       return view('Pages.search');
     }

Search.blade. php

<select name="distance" id="distance" class="form-control input-lg dynamic" data-dependent="state">
<option value="">Distance</option>


@foreach($distances as $distance)
    <option value="{{ $distance }}">{{ $distance }}</option>
@endforeach


</select>
<br>

 <select name="price" id="price" class="form-control input-lg dynamic" data-dependent="state">
 <option value="">Price</option>


@foreach($prices as $price)
    <option value="{{ $price}}">{{ $price}}</option>
@endforeach

Таким образом, для пояснения раскрывающийся список работает, но выводит только один из выбор выбран.

1 Ответ

1 голос
/ 06 апреля 2020

Я думаю, что вам нужен фильтр запросов

$post = new Post;

if ($request->has('price')) {
   $post->where('price', $request->price);
}

if ($request->has('distance')) {
    $post->where('distance', $request->distance);
}

return view('Pages.search', [
  'distances' => $distances,
  'prices' => $prices,
  'posts' => $post->get()
]);

Я предполагаю, что вам нужен один список с применением обоих фильтров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...