[英]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.