2017-05-29 33 views
0

我想通过路由名称创建照亮\路由\ Route对象与参数,我坚持在这里:如何使用参数通过路由名创建Illuminate Routing Route对象?

$parameters = ['firstParam', 'secondParam']; 
$route = \Route::getRoutes()->getByName($routeName); 

我可以创造照亮\路由\ Route对象,但再怎么绑定参数? 当我打电话:

$route->parameters(); 

我得到这个错误“的路线是不是约束。”,所以没有任何人如何绑定参数?

PS。我可以看到功能:

setParameter(string $name, mixed $value) 

,但我不希望使用PARAM名字,我只是想通过创建路由名称,而params路由对象...

我想是这样的:

Route::create($routeName, ['paramFirst', 'paramSecond']); 
+0

需要路由对象的目的是什么? – Sandeesh

+0

@Sandeesh我想创建函数,它将检查登录的用户是否可以访问给定的路由,如canAccessRoute($ routeName,$ params){...} – fico7489

+0

该网址应该是这样的吗? http://www.example.com/routename/paramFirst/paramSecond http://www.example.com/routename/1/2 –

回答

0

您可能会通过不带参数的路由名称获得Illuminate\Routing\Route对象。但是你可以在$parameters公共属性中设置参数。

//Illuminate\Routing\Route object 

$route = Route::getRoutes()->getByName('route_name'); 

//Set parameters 
$route->parameters = ['id' => 2];