Passer le paramètre au contrôleur de la route dans laravel
C'EST UNE QUESTION POUR LARAVEL 3
Étant donné la route suivante
Route::get('groups/(:any)', array('as' => 'group', 'uses' => 'groups@show'));
Et L'URL que je voudrais utiliser,
http://www.example.com/groups/1
Je voudrais pouvoir utiliser la valeur (:any)
dans mon contrôleur.
Mon contrôleur ressemble à
class Groups_Controller extends Base_Controller {
public $restful = true;
public function get_show($groupID) {
return 'I am group id ' . $groupID;
}
}
Comment est-ce possible de faire? J'ai essayé quelques choses, y compris les suivantes
Route::get('groups/(:any)', array('as' => 'group', 'uses' => 'groups@show((:1))'));
Mais ça n'a pas marché.
Mise à jour
Chaque fois que j'essaie de passer dans les arguments comme le montrent ci-dessus, je reçois un Erreur 404.
Merci pour l'aide!
4 réponses
Vous n'avez besoin de rien de spécial pour ajouter des paramaters. Comme vous l'avait.
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;
}
}
C'est ce dont vous avez besoin dans 1 ligne de code.
Route::get('/groups/{groupId}', 'GroupsController@getShow');
Suggestion: utilisez CamelCase par opposition aux traits de soulignement, essayez et suivez les directives PSR -*. https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md
J'espère que ça aide.
, Vous pouvez les ajouter comme ceci
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');
Campagne.showtakeup.lame.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
J'espère que cela résoudra votre problème. Merci