Кто-нибудь знает о разбивке на страницы с помощью метода post в laravel?

Кто-нибудь знает о разбивке на страницы с помощью метода post в laravel? Вот мой код, моя пагинация не работала должным образом, может ли кто-нибудь мне с этим помочь? Он показывает данные первой страницы, когда я перехожу на следующую страницу, он показывает пустой рендеринг ... Я пробовал это через ajax с помощью метода post, потому что мне нужны соответствующие данные с разбивкой на страницы ...

Лезвие:

@extends('layouts.app')
@section('content')
    <div id="html_code" class="col-sm-6 col-lg-12" style="margin-bottom:20px; background-color:#047137">
        <table>
            <tr><th>Name</th>
                <th>Email</th></tr>
            @foreach($get_data as $data)
                <tr><td>{{$data->name}}</td>
                    <td>{{$data->email}}</td></tr>
            @endforeach
        </table>
    </div>                              
    <div>
        {!!$get_data->links()!!}
    </div>
<script>
$(document).ready(function(){
$(document).on('click', '.pagination a', function(event){
 event.preventDefault();
 var page = $(this).attr('href').split('page=')[1];
 fetch_data(page);
 });

function fetch_data(page)
 {$.ajax({
   url:"/pagination/fetch_data?page="+page,
   success:function(data)
   {$('#html_code').html(data);}
  });
 } 
});
</script>                 
@endsection

Контроллер:

public function users(Request $request)
    {
        $category = $request->category;
        $get_data = User::where('category',$category)->paginate(20);
        return view('data',compact('get_data'));
    }

    function fetch_data(Request $request)
    {
        $category = $request->category;
     if($request->ajax())
     {
        $get_data = User::where('category',$category)->paginate(20);
        return view('data',compact('get_data'))->render();
     }
    }

Маршруты:

 Route::match(['get', 'post'], 'monthly_report', ['uses'=>'HomeController@users']);

    Route::get('pagination/fetch_data', 'HomeController@fetch_data');

person Danish Zahoor    schedule 12.05.2020    source источник
comment
Вы используете параметр category в своем условии, тогда как вы передаете значение page.   -  person Muhammad Shareyar    schedule 12.05.2020
comment
Мухаммад Шареяр, но мне нужны оба параметра для моей функции.   -  person Danish Zahoor    schedule 13.05.2020


Ответы (2)


Вы должны добавить этот код в код возврата:

'users' => $users->appends(Input::except('page'))
person Ahsan Ghalib    schedule 13.05.2020

При наличии post данных в Laravel вам необходимо отправить csrfToken как часть вашего запроса.

Поскольку у меня нет доступа ко всему коду для отладки. Вы можете посмотреть по следующей ссылке.

https://www.itsolutionstuff.com/post/laravel-57-ajax-pagination-exampleexample.html

person oreopot    schedule 12.05.2020
comment
Спасибо, Декстер. Я прохожу по этой ссылке раньше, но в этой ссылке он делает это с помощью метода get просто wherease, я пытаюсь сделать это с помощью метода post, передавая аргументы контроллеру. - person Danish Zahoor; 12.05.2020
comment
@DanishZahoor, вы нашли решение, иначе я могу обновить ответ. - person oreopot; 13.05.2020