【问题标题】:laravel routes with parameters not working带有参数的laravel路由不起作用
【发布时间】:2015-08-13 02:12:44
【问题描述】:

带有参数的路由不起作用,它的抛出和错误

throw new NotFoundHttpException;

routes.php

Route::any('/share-to-group/(:any)/(:any)',array('as' => 'share-to-group',  
                                 'uses' => 'HomeController@shareToGroup'));

在视野内

<a href="{{ URL::to('share-to-group',[ $group['group_id'], $UnixDateTime ]) }}">Something</a>

和控制器

function shareToGroup($group_id,$unixtime){
        echo $group_id.$unixtime;exit;
}

我做错了什么?

我查看了以下链接,但这是完全不同的,这之间没有什么独特之处,我认为这不是重复的。 How to pass query string params to routes in Laravel4

【问题讨论】:

标签: php laravel laravel-4 routes


【解决方案1】:

根据Routing with parameters,用参数定义路由的正确方法是:

基本路由参数

Route::get('user/{id}', function($id)
{
    return 'User '.$id;
});

注意:路由参数不能包含 - 字符。请改用下划线 (_)。

可选路由参数

Route::get('user/{name?}', function($name = null)
{
    return $name;
});

具有默认值的可选路由参数

Route::get('user/{name?}', function($name = 'John')
{
    return $name;
});

你的错误是你使用(:any)而不是{any?}的参数

您的声明应如下所示:

 Route::any('/share-to-group/{param1?}/{param2?}',array(
    'as' => 'share-to-group',  
    'uses' => 'HomeController@shareToGroup'
));

【讨论】:

  • 同意,但我想在我的操作中访问路由参数,而不是从路由返回。
  • @kamlesh.bar 这些示例向您展示了如何定义路由,您可以将任何您想要的作为回调。以您的代码为例,查看我帖子的结尾。
  • 谢谢你成功了。我不知道为什么我无法接受答案。你应该把它放在顶部
猜你喜欢
  • 2016-05-23
  • 1970-01-01
  • 2019-09-19
  • 1970-01-01
  • 2016-10-06
  • 1970-01-01
  • 2014-11-17
  • 2017-10-31
  • 2017-10-21
相关资源
最近更新 更多