【问题标题】:Best way to keep pagination after editing a record编辑记录后保持分页的最佳方法
【发布时间】:2020-03-08 20:56:44
【问题描述】:

我对 Laravel 很陌生,我正在尝试为每个数据库表创建一个包含视图的 crud 应用程序,该表在每条记录上都有一个带有编辑按钮的列表。
到目前为止,我有一个运行良好的分页列表和一个运行良好的编辑视图。
我面临的问题是,无论我在哪个页面,我都可以单击编辑按钮并成功编辑记录,但是当我保存记录时,我总是回到第 1 页。
我不知道,我想知道实现这一目标的正确(最佳)方法。
我应该使用会话吗?或者可能将页面参数附加到编辑表单操作?要不然?

编辑:
这是 edit 方法返回的内容:

return redirect('/lyrics')->with('success', 'Lyric updated!');

感谢您为我指明正确方向的任何帮助。

【问题讨论】:

  • 您提到的两种方法(会话或 GET 参数)是我在阅读您的问题时想到的。我觉得使用会话将是更清洁的解决方案,并且还可以在其他任务中无缝地使您受益。例如。删除。
  • 很高兴知道投反对票的原因,这样我就可以学习改进我的下一个问题
  • 显示你在更新方法中返回的内容
  • @RubenDanielyan 感谢您的评论:我已经编辑了问题,请看一下。

标签: php laravel laravel-7


【解决方案1】:

您可以将page参数传递给编辑页面,然后在用户更新记录后,您可以重定向到您所在的页面。

类似这样的:

在你调用编辑页面的链接中:

<a href="{{ route('someroutename')}}&page={{ app('request')->input('page') }}">Edit</a>

在您的编辑表单中:

<form>
  ... fields
  <input type="hidden" name='page' value={{ app('request')->input('page') }}
</form>

然后在控制器的更新方法中

public function update($request)
{
    // update
    return redirect('homepage', ['page' => $request->page]);
}

【讨论】:

  • 你的意思是把它作为GET参数添加到编辑页面的链接吗?
  • 是的,我已经用一些基本代码更新了我的答案,只是为了展示如何实现这一点。
猜你喜欢
  • 2021-10-23
  • 2013-05-04
  • 2010-09-05
  • 2011-10-23
  • 1970-01-01
  • 1970-01-01
  • 2013-07-11
  • 1970-01-01
  • 2018-01-15
相关资源
最近更新 更多