【问题标题】:Laravel Paginate: Save record and return to the correct pageLaravel Paginate:保存记录并返回正确的页面
【发布时间】:2020-04-05 01:22:28
【问题描述】:
我有一个分页记录列表,用户可以编辑记录;这会触发我的更新方法;
public function update($id, Request $request)
{
$questionUpdate=$request->all();
$question = Question::find($id);
$question->update($questionUpdate);
return redirect('questions');
}
但它丢失了它所在的页面(用于分页)。
如何让它重定向到正确的路线/页面?
【问题讨论】:
标签:
php
laravel
pagination
【解决方案1】:
我发现执行以下操作解决了我的要求。
-
在表格中填写以下内容
{!! Form::hidden('redirects_to', URL::previous()) !!}
-
在您的控制器上的更新方法中,假设成功保存且没有错误;
$url = $request->only('redirects_to');
return redirect()->to($url['redirects_to']);
这似乎符合我的要求。
【解决方案2】:
就用这个redirect:
return redirect()->back();
【解决方案3】:
下面的方法可能更简单。
使用 URL 外观和方法 previous() 将前一个 URL 及其参数传递给视图。
这是一个示例:(在您的控制器中)
public function show(Post $post)
{
return view('layouts.blog.post', ['post' => $post, 'previous_url' => URL::previous()]); // pass in the page
}
在你的视图中,利用你传入的变量,previous_url来制作一个锚点,或者一个表单等等。