【问题标题】: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】:

    我发现执行以下操作解决了我的要求。

    1. 在表格中填写以下内容

      {!! Form::hidden('redirects_to', URL::previous()) !!}

    2. 在您的控制器上的更新方法中,假设成功保存且没有错误;

      $url = $request->only('redirects_to');

      return redirect()->to($url['redirects_to']);

    这似乎符合我的要求。

    【讨论】:

      【解决方案2】:

      就用这个redirect:

      return redirect()->back();
      

      【讨论】:

      • 这不考虑 URL 参数(如分页)。
      【解决方案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来制作一个锚点,或者一个表单等等。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-27
        • 2021-06-10
        • 1970-01-01
        • 1970-01-01
        • 2019-04-20
        • 1970-01-01
        • 1970-01-01
        • 2018-07-12
        相关资源
        最近更新 更多