gpt4 book ai didi

php - 使用 Laravel 4 访问 View 中的路由参数

转载 作者:行者123 更新时间:2023-12-02 00:04:41 24 4
gpt4 key购买 nike

我的路线设置如下:

Route::match(array('GET', 'POST'), '/reset-password/{code}', array('as' => 'reset-password-confirm', 'uses' => 'UserController@resetPasswordConfirm'));

在我的 Controller 中,我将路由参数传递给我的操作,如下所示:

public function resetPasswordConfirm($code)
{
// ...
}

然后我可以像平常一样在 Controller 中使用 $code

在我看来,我正在构建一个可以发布到同一 Controller 操作的表单,并且我需要以某种方式将 $code 放入 View 中,以便它构造正确的表单操作。目前我有这个:

{{ Form::open(array('route' => array('reset-password-confirm'))) }}

因为我没有提供 $code 路由参数,所以表单打开方式如下:

<form method="POST" action="http://site.dev/reset-password/%7Bcode%7D" accept-charset="UTF-8">

显然,这与我定义的路由不匹配(​​由于 {code} 不存在)并且路由匹配失败。我需要以某种方式将路由参数放入我的 View 中,以便我可以将其与 Form::open() 一起使用。我尝试过这样做:

{{ Form::open(array('route' => array('reset-password-confirm', $code))) }}

但这只会抛出一个异常,表示 $code 未定义。

最佳答案

参数发送到 View 的正确方法是:

return View::make('viewname')->with('code', $code);

或者您可以使用:

return View::make('yourview', compact('code'));

因此,$code 将在您的 View 中可用,您可以在表单中使用它,但您也可以使用以下方法来访问 View 中的参数 :

// Laravel - Latest (use any one)
Route::Input('code');
Route::current()->getParameter('code');
Route::getCurrentRoute()->getParameter('code');

// Laravel - 4.0
Route::getCurrentRoute()->getParameter('code');

关于php - 使用 Laravel 4 访问 View 中的路由参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21971742/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com