📌  相关文章
📜  在控制器 laravel 中返回重定向到另一个 url - PHP (1)

📅  最后修改于: 2023-12-03 14:51:27.318000             🧑  作者: Mango

在控制器 Laravel 中返回重定向到另一个 URL

在 Laravel 中,你可以在控制器中使用路由器来返回重定向到另一个 URL 的操作。这可以用于在用户执行某些操作后将他们重定向到新的页面。

使用 redirect 方法

Laravel 提供了 redirect 方法来轻松地在控制器中返回重定向。以下是一个例子:

public function redirectExample()
{
    // 重定向到新的 URL
    return redirect('my/new/url');
}

你可以将 redirect 方法传递给你想重定向的 URL。

你还可以将 route 方法传递给你想重定向的路由器名称。以下是一个例子:

public function redirectToRoute()
{
    // 重定向到名为 my.route 的路由器
    return redirect()->route('my.route');
}

还可以在重定向过程中传递数据。以下是一个例子:

public function redirectWithMessage()
{
    // 重定向到新的 URL,并在查询字符串中传递数据
    return redirect('my/new/url')->with('message', 'Hello, World!');
}

上面的示例将 message 键和 Hello, World! 值添加到会话中,以便在重定向后使用。

使用 response 方法

如果您需要在重定向期间添加一些其他操作,例如向用户显示消息或向数据库写入数据,则可以使用 response 方法。

以下是一个例子:

public function redirectWithMessage()
{
    // 将消息存储在数据库中
    Message::create([
        'user_id' => Auth::user()->id,
        'message' => 'Hello, World!'
    ]);

    // 重定向到新 URL
    return response()->redirectToRoute('my.route')->with('message', 'Hello, World!');
}

上面的示例将消息存储在数据库中,然后使用 redirectToRoute 方法重定向到另一个 URL 并将消息键和值添加到会话中。

总结

Laravel 提供了 redirectresponse 方法来支持在控制器中返回重定向操作。你可以很容易地使用这些方法来重定向用户到新的 URL,并传递数据。