Laravel 5.4:使用参数从控制器调用路由功能

时间:2017-07-16 22:37:04

标签: php laravel laravel-5 routes

我想通过一些参数从我的控制器调用路由功能。

这是我的控制器

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.

请帮助

1 个答案:

答案 0 :(得分:4)

route()帮助程序要求您传递路径名称和参数:

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));

希望这有帮助