php - rutas - route() laravel
Pasar el parĂ¡metro al controlador de la ruta en laravel (4)
ESTA ES UNA PREGUNTA PARA LARAVEL 3
Dada la siguiente ruta
Route::get(''groups/(:any)'', array(''as'' => ''group'', ''uses'' => ''groups@show''));
Y la URL que me gustaría usar,
http://www.example.com/groups/1
Me gustaría poder usar el valor (:any)
en mi controlador.
Mi controlador parece
class Groups_Controller extends Base_Controller {
public $restful = true;
public function get_show($groupID) {
return ''I am group id '' . $groupID;
}
}
¿Cómo es esto posible? He intentado algunas cosas, incluyendo las siguientes
Route::get(''groups/(:any)'', array(''as'' => ''group'', ''uses'' => ''groups@show((:1))''));
Pero no funcionó.
ACTUALIZAR
Cada vez que trato de pasar los argumentos como se muestra arriba, obtengo un error 404.
¡Gracias por la ayuda!
Esto es lo que necesitas en 1 línea de código.
Route::get(''/groups/{groupId}'', ''GroupsController@getShow'');
Sugerencia: utilice CamelCase en lugar de guiones bajos, intente y siga las pautas de PSR- *. https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md
Espero eso ayude.
No necesitas nada especial para agregar parámetros. Como tuviste.
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;
}
}
Puedes agregarlos así
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
Espero que esto resuelva tu problema. Gracias