Я пытаюсь показать все данные из моей таблицы в виде лезвия Ларавеллы.
Контроллер
public function search()
{
$search = request('show');
$users = User::query();
foreach ($search as $field=>$value)
{
if($value!=NULL)
{
$users = $users->where($field, 'LIKE', '%'.$value.'%');
}
}
if(request()->has('sort'))
{
$order = explode(',',request('sort'));
$users = $users->orderBy($order[0],$order[1]);
}
$users = $users->SimplePaginate(15);
return view('nabil.homepage',compact('users'));
}
Blade
@foreach($users as $user)
<tr>
@if(session()->has('show'))
@foreach(session()->get('columns') as $column)
@if(in_array($column,session()->get('show')))
<td>{{ $user->$column }}</td>
@endif
@endforeach
@endif
</tr>
@endforeach
</table>
{{ $users->appends(Illuminate\Support\Facades\Input::except('page'))->links() }}
Если я что-то ищу, то это работает отлично.Но если я ищу с пустым значением.Тогда это не работает.Первая страница появляется без проблем, но затем она ломается.
Случай 1 (проблемный случай):
Я ввожу пустое значение в поиске.Таким образом, URL-адрес поиска /search?show%5Bbango%5D=
.
Однако, когда я нажимаю «Далее», URL-адрес становится /search?page=2
(И возвращает ошибку)
Если я вручную введу /search?show%5Bbango%5D=&page=2
в URL-адресе, тоон отлично работает.
Случай 2:
Я ввожу некоторые данные, например, «123» в поиске.Тогда мой URL становится /search?show%5Bbango%5D=123
.В этом случае все работает отлично.
Случай 3:
Это может быть неактуально.Но если я запускаю запрос в более чем одном поле, тогда он работает нормально, но почему-то все пустые входные данные удаляются из URL, когда я использую нумерацию страниц.
Я могу попытаться выполнить поиск по двум полям ввода (пример: имя и банго).Если я оставлю поле имени пустым и введу «123» в банго, то URL-адрес будет выглядеть как /search?show%5Bbango%5D=123&show%5Bname%5D=
.
Однако, если я попытаюсь перейти на следующую страницу.тогда URL становится /search?show%5Bbango%5D=123&page=2
.
. Хотя показанные результаты хороши, но URL внезапно пропускает поле имени.
Как я могу убедиться, что разбиение на страницы все еще работает для пустого ввода.Я проверил некоторые похожие вопросы и попытался добавить запрос.Но это все еще не работает для меня.