Функция разбивки на страницы в представлении возвращает все данные в формате JSON после нажатия кнопки поиска - PullRequest
1 голос
/ 14 июля 2020

Эта функция возвращает страницы в моем представлении, но после нажатия кнопки поиска и фильтрации столбцов она возвращает JSON с данными из всех столбцов.

{!! $data ?? ''->appends(request()->except('page'))->render() !!}

Это функция поиска в моем контроллере:

public function search(Request $request)
{
    $search = $request->get('search');
    

    $requestData = ['surname', 'email', 'showname', 'business'];
   

    $data2 = User::where(function($q) use($requestData, $search) {
                foreach ($requestData as $field)
                   $q->orWhere($field, 'like', '%'.$search.'%')->paginate(5);
        })->get();
    
    return view('users.index', ['data' => $data2])->with('i', ($request->input('page', 1) - 1) * 5);
}

1 Ответ

2 голосов
/ 14 июля 2020

нужно улучшить и исправить свой код:

  $query = User::query();
  foreach ($requestData as $field){
     $query->orWhere($field, 'like', '%'.$search.'%');
  }
  $data2=$query->paginate(5);
...