Передайте поисковый запрос для просмотра - PullRequest
0 голосов
/ 27 сентября 2019

Я хочу передать поисковый запрос в виде laravel, сейчас я пытаюсь использовать compact и compatct-> with, но результаты все равно остаются "Undefined variable: query"

Я пытаюсь передать жесткий код, например, один запрос "abc "," bcd "и т. д. это работа / категория? query = abc & page = 2, но когда я хочу сделать что-то похожее на wildcart, я не могу передать запрос переменной для просмотра.

Функция контроллера поиска

public function kategorie(Request $request)
    {

        $query = $request->input('query');     


        $pages = Page::where('kategoria', 'like', "%$query%")
                      ->orWhere('tags', 'like', "%$query%")
                      ->paginate(5);




        return view('kategoria')->compact('pages')->with('query', $query);
    }

Просмотр выходных данных пагинации (это работает, но мне нужны результаты поиска, а не abc)

{{ $pages->appends(['query' => 'abc' ])->links() }}

Просмотр пагинации с переменной и не работает: /

{{ $pages->appends(['query' => $query ])->links() }}
ErrorException {#745 ▼
  #message: "Undefined variable: query"
  #code: 0
  #file: "/home/mitek91/domains/test91.vot.pl/public_html/obito/storage/framework/views/653b682019bed23b6b130f5076f5c885047247fb.php"
  #line: 1
  #severity: E_NOTICE
}

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Вы можете добавить все запросы GET параметров в ссылку на страницы, как это:

{{ $users->appends($_GET)->links() }}
0 голосов
/ 27 сентября 2019

Я думаю, что ваше возвращаемое утверждение должно быть таким:

public function kategorie(Request $request)
{
    $query = $request->input('query');     

    $pages = Page::where('kategoria', 'like', "%$query%")
                    ->orWhere('tags', 'like', "%$query%")
                    ->paginate(5);

    return view('kategoria', compact('pages', 'query'));
}

Это будет эквивалентно:

return view('kategoria', [
    'pages' => $pages,
    'query' => $query
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...