繁体   English   中英

从Laravel中的路由将参数传递给控制器

[英]Passing parameter to controller from route in laravel

这是对LARAVEL 3的一个问题

给出以下路线

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

还有我想使用的网址

http://www.example.com/groups/1

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

我的控制器看起来像

class Groups_Controller extends Base_Controller {

    public $restful = true;    

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


}

这怎么可能呢? 我已经尝试了一些方法,包括以下内容

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

但它没有用。

更新

每当我尝试传递如上所示的参数时,我都会收到404错误。

谢谢您的帮助!

您不需要任何特殊的添加参数。 就像你拥有它一样。

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


}

这是您需要的1行代码。

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

建议:使用CamelCase而不是下划线,请尝试并遵循PSR- *准则

希望能帮助到你。

您可以像这样添加它们

  Route::get('company/{name}', 'PublicareaController@companydetails');
    $ php artisan route:list
  +--------+--------------------------------+----------------------------+--    -----------------+----------------------------------------------------+---------  ---+
  | Domain | Method                         | URI                        |  Name              | Action                                             |    Middleware |
  +--------+--------------------------------+----------------------------+-------------------+----------------------------------------------------+------------+
  |        | GET|HEAD                       | /                          |                           
  |        | GET                            | campaign/showtakeup/{id}   | showtakeup         | App\Http\Controllers\campaignController@showtakeup | auth       |     |

routes.php

  Route::get('campaign/showtakeup/{id}', ['uses' =>'campaignController@showtakeup'])->name('showtakeup');

campaign.showtakeup.blade.php

 @foreach($campaign as $campaigns)


   //route parameters; you may pass them as the second argument to the method:

   <a href="{{route('showtakeup', ['id' => $campaigns->id])}}">{{ $campaigns->name }}</a>




            @endforeach

希望这能解决您的问题。 谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM