【问题标题】:How to return to another page after finishing process in Laravel?在 Laravel 中完成处理后如何返回到另一个页面?
【发布时间】:2022-01-08 23:34:37
【问题描述】:

即使我放的标题也有点难以理解。抱歉,我只是不知道如何清楚地解释这一点,但我会尝试...... 因此,例如,我有一个控制器,在该控制器内部,我有一个函数可以返回数据库表中的数据。然后在每一行的最后一列中,我将查看、添加、编辑、删除选项作为链接。例如,当用户单击添加时,他们将重定向到添加页面。在他们提交添加页面的表单之后。它们应该被重定向到从表中返回数据的第一页。但问题是,第一页中 foreach 循环的变量不再被 laravel 识别。因为它们没有得到处理,因为路由没有进入控制器和返回数据的函数,而是进入添加函数。

所以我想知道有没有办法解决这个问题?如果您能提供示例代码,我将不胜感激

【问题讨论】:

  • 请发布您的代码,然后指出您目前所面临的挑战。这样会更容易帮助你。养成发布代码的习惯,例如不要只提及控制器及其方法,也要发布它。干杯!

标签: laravel view routes crud


【解决方案1】:

如果您希望在登录或激活过程后重定向,您可以这样做:

return redirect()->to('login')

您可以从 web.php 文件中指定路径,如我在“myPath”中的示例中所见

正如@DerickMasai 正确指出的那样,最好使用命名路由而不是硬编码路径本身。

命名路线可以这样工作:

Route::get('/login', [LoginController::class, 'index'])->name('login');

【讨论】:

  • 更好的方法是使用命名路由,而不是在“/mypath”中硬编码它们。如果将来更改路径,这会减少故障点。
  • @DerickMasai 你是完全正确的,是的!我会编辑它:)
  • 我指的是在重定向中使用名称,就像return redirect()->route('login');
  • 是的,我忘记在退货声明中编辑名称了哈哈
【解决方案2】:

根据您的解释,我相信添加、编辑等后返回原始页面的代码只是return redirect()->back()。这将使用户回到上一页。至于数据连续性,一种方法是考虑使用会话。它们全局保存数据,保存后可以从任何控制器访问。为此,只需使用session(['session_name' => $data]) 保存数据并使用session('session_name') 检索数据。让我知道这是否有帮助!

【讨论】:

    猜你喜欢
    • 2020-05-24
    • 2011-06-06
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    相关资源
    最近更新 更多