HTML-форма для маршрута Laravel?

Пытаюсь добавить функцию поиска. Сам функционал работает в контроллере. У меня просто не получается пришить форму поиска к маршруту.

Моя форма

<form method = "get" action = "/search/">
    <input type = "text" class = "textbox" placeholder = "Search" name = "name">
    <button title = "Search" type = "submit" class = "button"><i class = "fas fa-search"></i></button>

И в моих маршрутах

Route::get('/search?name = {name}', 'ShowPageController@searchShows');

попробуйте следующее: замените приведенный ниже код в своем представлении: <form method = "get" action = "{{route ('search')}}"> <input type = "text" class = "textbox" placeholder = "Search "name = " name "> <button title = " Search "type = " submit "class = " button "> <i class = " fas fa-search "> </i> </button> </form> в вашем routes / web.php замените свой код приведенным ниже кодом: Route :: get ('/ search', 'ShowPageController @ searchShows') -> name ('search');

Salman Zafar 17.07.2018 23:19
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
602
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

Ваш маршрут должен быть

Route::get('/search', 'ShowPageController@searchShows');

и в вашем контроллере вы должны получить значение пары ключей строки запроса name, выполнив следующие действия.

public function searchShows(Request $request) 
{ 
    $name = $request->query('name');

    ....
}

Кроме того, я бы подумал о псевдониме вашего маршрута, например.

Route::get('/search', 'ShowPageController@searchShows')->name('search');

Тогда в вашей форме вы можете просто сделать

<form method = "get" action = "{{ route('search') }}">

введите код здесь`1. Способ

Route::get('/search/{name?}', 'ShowPageController@searchShows');

если поставить? в конце концов, это будет необязательный параметр, если не сейчас.

  1. Способ тебе не нужно указывать свой маршрут маршрут :
  Route::get('/search', 'ShowPageController@searchShows');

внутри вашего контроллера:

function searchShows(Request $request) {
     $searchparams = $request->name;
}

поэтому замените свой код приведенным ниже кодом в вашем представлении:

<form method = "get" action = "{{ route('search')}}">
    <input type = "text" class = "textbox" placeholder = "Search" name = "name">
    <button title = "Search" type = "submit" class = "button"><i class = "fas fa-search"></i></button>
</form>

в ваших маршрутах / web.php

Route::get('/search', 'ShowPageController@searchShows')->name('search');

а затем в вашем контроллере:

public function searchShows(Request $request) 
{ 
    $s_query = $request->name;
    // perform operation now
}

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