【问题标题】:Laravel 5.4: call a route function from controller with parametersLaravel 5.4:使用参数从控制器调用路由函数
【发布时间】:2017-07-16 22:37:04
【问题描述】:

我想用一些参数从我的控制器调用路由函数。

这是我的控制器

public function myFunction($id, $name)
{
    $id = 1;
    $name = 'john';

    return redirect()->route('details/' . $id . '/' . $name);
}

这是我的路线

Route::get('details/{id}/{name}',['uses' =>'My_controller@myFunction']);

这是我运行脚本时遇到的错误。

InvalidArgumentException in UrlGenerator.php line 304:

Route [details/1/john] not defined.

请帮忙

【问题讨论】:

    标签: php laravel laravel-5 routes


    【解决方案1】:

    route() helper 要求你传递路由名称和参数:

    function route($name, $parameters = [], $absolute = true)
    {
        return app('url')->route($name, $parameters, $absolute);
    }
    

    所以你需要给你的路线一个名字:

    Route::get('details/{id}/{name}',['uses' =>'My_controller@myFunction'])->name('details');
    

    ..然后你可以在数组中传递参数:

    return redirect()->route('details', array('id' => $id, 'name' => $name));
    

    希望对你有帮助

    【讨论】:

    • 删除我的答案,你打败了我几秒钟:)
    猜你喜欢
    • 2017-08-24
    • 2017-11-21
    • 2017-02-10
    • 2013-08-15
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    • 2012-11-20
    • 2020-09-01
    相关资源
    最近更新 更多