В настоящее время я пытаюсь реализовать функцию поиска, но на данный момент немного затруднен.
Я хочу, чтобы это работало так:
- Пользователь вводит слово в форме поиска, расположенной на панели навигации.
- Пользователь отправляется на URL с slug, который отображает все результаты на основе slug
Я уже понял логику того, как извлекать изображения, основываясь на слове слагов, однако я не понял, как передать слово слагов из строки поиска в функцию search (), которую я затем отправьте меня в окно поиска. Я не уверен, что мне нужен второй маршрут POST, который я могу использовать в действии формы HTML.
public function search($query){
$images = Image::where('name', 'like', '%'.$query.'%')
->orWhereHas('tags', function($q) use ($query) {
return $q->where('name', 'like', '%'.$query.'%');
})->orWhereHas('category', function($q) use ($query) {
return $q->where('name', 'like', '%'.$query.'%');
})->latest()->get();
return view('search', ['images' => $images]);
}
Это мой маршрут до сих пор:
Route::get('/search/{query}', 'PagesController@search')->name('searchView');
HTML-форма:
<form action="" method='POST'>
<input type="text" placeholder="Search" name="search">
</form>