将参数从laravel中的路径传递给控制器

bre*_*rer 35 php laravel

这是对LARAVEL 3的一个问题

鉴于以下路线

Route::get('groups/(:any)', array('as' => 'group', 'uses' => 'groups@show'));
Run Code Online (Sandbox Code Playgroud)

我想要使​​用的URL,

http://www.example.com/groups/1
Run Code Online (Sandbox Code Playgroud)

我希望能够(:any)在我的控制器中使用该值.

我的控制器看起来像

class Groups_Controller extends Base_Controller {

    public $restful = true;    

    public function get_show($groupID) {
        return 'I am group id ' . $groupID;
    }  


}
Run Code Online (Sandbox Code Playgroud)

这怎么可能呢?我尝试了一些包括以下内容的东西

Route::get('groups/(:any)', array('as' => 'group', 'uses' => 'groups@show((:1))'));
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

UPDATE

任何时候我尝试传递上面显示的参数我得到404错误.

谢谢您的帮助!

dar*_*dub 29

添加参数不需要任何特殊功能.就像你拥有它一样.

Route::get('groups/(:any)', array('as' => 'group', 'uses' => 'groups@show'));


class Groups_Controller extends Base_Controller {

    public $restful = true;    

    public function get_show($groupID) {
        return 'I am group id ' . $groupID;
    }  


}
Run Code Online (Sandbox Code Playgroud)

  • @MārtiņšBriedis,Laravel文档是一个封闭的循环,对于了解Laravel的所有内容的人来说是一个很好的参考,除了他们正在查找的东西. (19认同)
  • 这是一个荒谬的说法,这个简单的例子(参数作为参数传递给动作函数)不包含在文档中. (12认同)
  • 这是一个开源项目,您可以分叉/编辑文档并添加您认为缺少的内容.https://github.com/laravel/docs (12认同)
  • @dwenaus - 这是真的,很棒,但只有在你发现你不知道的东西之后它才起作用......这不在文档中。大量谷歌搜索并消除不再有效或最佳实践的旧解决方案。其他迷失的灵魂试图找出很多不好的建议。 (2认同)

Edd*_*ira 20

这是您需要的一行代码.

Route::get('/groups/{groupId}', 'GroupsController@getShow');

建议:使用CamelCase而不是下划线,尝试遵循PSR-*指南.

希望能帮助到你.


sha*_*ggy 10

您可以像这样添加它们

  Route::get('company/{name}', 'PublicareaController@companydetails');
Run Code Online (Sandbox Code Playgroud)