【问题标题】:Not redirecting to Same Pagination (or Page) after successful operation. Laravel操作成功后不重定向到同一分页(或页面)。拉拉维尔
【发布时间】:2017-12-20 12:41:03
【问题描述】:
我是新手,在 laravel 中需要帮助(不使用 javascript 或 ajax)。我创建了一个 CRUD 操作并将分页应用于显示的结果列表。当我在成功完成操作后删除或更改分页级别 2 或更高级别的任何数据时,页面将重定向回第 1 页。
我想过使用 Session 传递分页数据并在成功操作后重定向,但我很困惑该怎么做。其次,我认为 laravel 提供了一个中间件,用于重定向(不确定)到正确的页面。
感谢您的帮助。我会上传你需要审查的代码。
【问题讨论】:
标签:
php
pagination
laravel-5.4
【解决方案1】:
您好,我找到了如何正确进行分页。
那就是当我从第 2 页或以上删除任何数据时如何保留它。
我创建了一个隐藏字段,在其中存储了我使用 $_GET['page'] 获取的当前页码。
<?php
if(isset($_GET['page']))
$page = $_GET['page'];
else
$page=1;
?>
<form action="{{action('CrudController@destroy', $post->id)}}" method="post">
{{csrf_field()}}
<input name="_method" type="hidden" value="DELETE">
<input name="page" type="hidden" value={{ $page}}>
<button class="btn btn-danger" type="submit">Delete</button>
</form>
现在在我的控制器中,我像这样修改了我的销毁方法
public function destroy(Request $request, $id)
{
if(DB::table('cruds')->where('id',$id)->first()){
DB::table('cruds')->where('id',$id)->delete();
}
return redirect('/crud?page='.$request->input('page'));
}
这解决了我的问题。无论如何,如果你们中的任何人有任何更好的解决方案,请发布我也想尝试那个。现在我将使用 session 进行尝试,如果我成功了,我也会分享那个。
我在 Laravel 中面临的问题是路线。我们可以用多种方式编写路线,我很困惑。