gpt4 book ai didi

分页不适用于 POST Action laravel 5

转载 作者:行者123 更新时间:2023-12-04 16:34:00 28 4
gpt4 key购买 nike

我在 Laravel 5 中使用分页时遇到问题。在这种情况下,我想对从搜索中获得的结果进行分页,我的代码可以工作并显示与我的搜索匹配的内容,但是当我想查看其他结果时(页面= 2)它不显示任何内容,我得到一个路由异常。

MethodNotAllowedHttpException in RouteCollection.php line 207:
分页是否仅适用于 GET 操作?
我会很感激一些帮助。
到目前为止,这是我的代码
搜索 Controller .php
/* Bring the form */
public function index()
{
$levels = Level::all();
return view('search.seek')->with('levels',$levels);
}

/**
* Display results that matches my search
* @param Request $request
* @return Response
*/
public function results(Request $request)
{
$suggestions = Suggestion::where('subject','=',$request->subject,'and')
->where('level','=',$request->level,'and')
->where('grade','=',$request->grade,'and')
->where('topic','=',$request->topic,'and')
->where('device','=',$request->device)->latest()->paginate(5);

$suggestions->setPath('results');
return view('search.list')->with('suggestions', $suggestions);
}
路由.php
    Route::post('results',[
'as' => 'results_path',
'uses' => 'SearchController@results' ]);
list.blade.php
@if($suggestions != null)
<h1 class="page-heading">Resultados</h1>
@foreach($suggestions->chunk(5) as $Suggestions)
<div class="row">
<div class="col-lg-12">
@foreach($Suggestions as $suggestion)
<div id="postlist">
<div class="panel">
<div class="panel-heading">
<div class="text-center">
<div class="row">
<div class="col-sm-9">
<h3 class="pull-left">{!! \App\Topic::find($suggestion->topic)->name !!}</h3>
</div>
<div class="col-sm-3">
<h4 class="pull-right">
<small><em>{!! $suggestion->created_at->format('Y-m-d') !!}</em></small>
</h4>
</div>
</div>
</div>
</div>
<div class="panel-body">{!! $suggestion->how_to_use !!}</div>
<div class="panel-footer"><span class="label label-default">Por: {!! \App\User::find($suggestion->user_id)->name !!}</span><span class="label label-success pull-right">{!! link_to('results/' .$suggestion->id ,'Ver',null) !!}</span></div>
</div>
</div>
@endforeach
</div>
</div>
@endforeach
{!! $suggestions->render() !!}
@endif

最佳答案

是的分页仅适用于获取参数。

您应该使用 GET搜索页面的方法。 POST请求不是为了显示数据。为什么?原因有很多,但简而言之,我举两个例子:

  • GET参数,假设您在第六页 - 您可以复制链接并将其粘贴给 friend ,他将能够查看与您相同的内容。与 POST这是不可能的。
  • 您不能在 POST 中使用后退按钮请求,如果你设法让分页工作。
  • POST例如,当您需要向服务器提交数据以创建新记录时,请求非常有用。

    所以我建议你把路由类型改成 GET和您的搜索表单方法 GET .

    关于分页不适用于 POST Action laravel 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30515594/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com