【问题标题】:How to pass parameters to a redirect route in Request如何将参数传递给请求中的重定向路由
【发布时间】:2016-09-30 20:20:48
【问题描述】:

语言是路由文件中的模型绑定。

路线

Route::post('managment/{Language}/create', ['as' => 'dictionary.store', 'uses' => 'DictionaryController@store' ]);

我喜欢声明一个扩展Request(FormRequest)Request(DictionaryRequest)文件,它负责Controller的请求参数。

方法原型是:

public function store(DictionaryRequest $request, Language $lang)

请求类中的redirectRoute设置为:

protected $redirectRoute = "dictionary.create";

如何将参数传递给路由? (语言模型)

我检查了 FormRequest 类,但 redirectRoute 只是不带参数地传递给 UrlGenerator。

/**
 * Get the URL to redirect to on a validation error.
 *
 * @return string
 */
protected function getRedirectUrl()
{
    $url = $this->redirector->getUrlGenerator();

    if ($this->redirect) {
        return $url->to($this->redirect);
    } elseif ($this->redirectRoute) {
        return $url->route($this->redirectRoute);
    } elseif ($this->redirectAction) {
        return $url->action($this->redirectAction);
    }

    return $url->previous();
}

【问题讨论】:

  • 顺便说一句,我也不想使用 $url->previous();
  • 出于什么目的需要传递整个模型实例而不是 id?
  • @huuuk 没关系

标签: laravel parameters laravel-5 routes request


【解决方案1】:

您是否尝试覆盖getRedirectUrl

/**
 * Get the URL to redirect to on a validation error.
 *
 * @return string
 */
protected function getRedirectUrl()
{
    $url = $this->redirector->getUrlGenerator();

    return $url->route($this->redirectRoute, [ /*your parameters*/ ]);

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 2021-04-24
    • 2016-09-21
    • 1970-01-01
    • 2018-06-20
    • 2020-08-09
    相关资源
    最近更新 更多