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!

33
demandé sur bretterer 2012-09-29 01:09:50

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


}
27
répondu dardub 2012-09-28 23:04:48

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.

18
répondu Eddy Ferreira 2014-09-26 20:48:37

, Vous pouvez les ajouter comme ceci

  Route::get('company/{name}', 'PublicareaController@companydetails');
9
répondu shaggy 2014-11-17 15:25:47
    $ 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

2
répondu user2592890 2015-11-19 05:53:22