Я использую Laravel 6.x
для разработки своих приложений. Я использую следующую версию:
PHP framework Laravel 6.x
Database MySQL
Я хотел бы спросить о pagination and searching at the same time
с маршрутизатором GET В моих приложениях происходит следующее:
myapps.com/events?page=2
myapps.com/events?q=textsearch&page=2
То, что я ожидаю, на самом деле выглядит как это:
myapps.com/events/2
myapps.com/events/textsearch/2
Как я могу установить URL как в последнем случае?
Мой контроллер выглядит так:
$search = Article::when($request->q, function ($query) use ($request) {
$query->where('title', 'LIKE', "%{$request->q}%")
->orWhere('content', 'LIKE', "%{$request->q}%");
})->paginate(8);
$search->appends($request->only('q'));
И пример моего маршрутизатора:
Route::get('/events', 'AppController@search');
В рабочем режиме мое приложение работает, все в порядке, но мне нужен URL-запрос, чтобы он выглядел как второй случай, который я описал выше.
Какую библиотеку мне использовать или какие логи c я мог бы применить?
Редактировать:
Как это можно читать так:
| 1 | 2 | 3 | 4 |
|___________|
| 1 | 2 | 3 |
|------------------|
|Domain | route | searching | page number|
|Domain | route | page number |
|_______________________________
Работает так:
, если сегмент (3) = номер страницы, возвращает нумерацию страниц.
, если сегмент (3) = текст поиска, возвращает поиск и нумерация страниц
И как, если на нумерации страниц, сегмент (3) или (4) только цифра c, то, если поиск с номером, то как не назвать первую логику.