Функция поиска не работает на странице результатов поиска Laravel

После поиска он переходит на страницу результатов. В моем случае:

Route::post('/search', 'Frontend\FrontController@filterSearch');

На этой странице есть та же форма поиска, что и на любой другой странице. Фильтрация поиска на всех остальных страницах работает без проблем. Но когда я пытаюсь выполнить поиск на странице результатов (после того, как что-то искал), мне нужно выбрать все поля, чтобы поиск отфильтровал результат. На других страницах мне не нужно выделять все поля. Вот мой контроллер:

public function filterSearch(Request $request){

//imports
$categories = Category::all();
$languages = Language::all();
$years = Year::all();

//partials menu variable
$menu = Menu::all();

$movie = Movie::query();

// Search for a movie based on its name.
if ($request->name != null) {
    $movie->where('name', 'LIKE', '%' . $request->name . '%');
}

// Search for a movie based on the year.
if ($request->year != null) {
    $movie->where('year_id', '=', $request->year);
}

// Search for a movie based on the language.
if ($request->language != null) {
    $movie->where('language_id', '=', $request->language );
}

// Search for a movie based on the review.
if ($request->review != null) {
    $movie->where('review', 'LIKE', '%' . $request->review . '%');
}

// Get the results and return them.
$filtered = $movie->latest()->paginate(20);

//return $request->language;
return view('frontend/search/filter-search', compact('filtered', 'menu', 'categories', 'languages', 'years'));


}

Вот форма (такая же для всех остальных страниц):

{!! Form::open(['method' => 'POST', 'action' => 'Frontend\FrontController@filterSearch', 'class' => 'form-style-1']) !!}                            

<div class = "row">
      <div class = "col-md-12 form-it">
      <label>Enter Name</label>
      <input name = "name" type = "text" placeholder = "Enter Name">
</div>

<div class = "col-md-12 form-it">
       <label>Language</label>
       <div class = "group-ip">
       <select name = "language" class = "ui fluid dropdown">
          <option>Filter Language</option>
             @foreach($languages as $language)
          <option value = "{{$language->id}}">{{ucfirst($language->language)}} 
          </option>
             @endforeach
      </select>
</div>
</div>
<div class = "col-md-12 form-it">
      <label>Enter Reviews (In stars e.g 7.5)</label>
      <input name = "review" type = "text" placeholder = "Enter Reviews Amount">
</div>
<div class = "col-md-12 form-it">
     <label>Release Year</label>
<div class = "row">
  <div class = "col-md-12">
         <select name = "year">
             <option>Year</option>
                  @foreach($years as $year)
             <option value = "{{$year->id}}">{{$year->year}}</option>
                  @endforeach
        </select>
</div>
</div>
</div>
<div class = "col-md-12 ">
     <input class = "submit" type = "submit" value = "Search">
</div>
</div>
{!! Form::close() !!}

Здесь, если я буду искать, используя имя «the» и только год, оставляя поле языка пустым, поиск будет работать, как задумано. Но на странице результатов, если я сделаю то же самое, это не даст мне результатов, если я не заполню все поля. Включая язык.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
40
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема была решена. Проблема заключалась в том, что на моей странице результатов поиска у меня было несколько полей, которые не возвращали null. Я использовал dd($request->all()), чтобы увидеть, все ли возвращается null. Но некоторые поля не возвращали null, и в этом была проблема. Забыл на первый вариант поставить value=“”.

Другие вопросы по теме