23. Cómo crear rutas con route resource
En Laravel, puedes crear rutas para un recurso (como un modelo) de manera eficiente utilizando el método route::resource(). Este método crea automáticamente varias rutas para las operaciones CRUD (Create, Read, Update, Delete) de tu recurso, como index, create, store, show, edit, update y destroy. Estas rutas te permiten manejar fácilmente las solicitudes HTTP de tu aplicación y realizar las operaciones CRUD en tu modelo. Para utilizar route::resource(), simplemente debes definir una ruta que apunte a tu controlador y llamar al método route::resource() en esa ruta.
6 comentarios
Inicia sesión para comentar
Comentarios:
-
Juan Carlos Lopez hace 5 meses
Si añadimos un nuevo recurso al controlador. Se puede añadir al route::resource() ? he creado una nuavo y no logro que se muestre el enlace.
-
Victor Arana Flores hace 5 meses
Hola Juan. Route Resource crea las 7 rutas de un crud. Si aparte de eso quieres crear mas rutas usando el mismo controlador, tienes que crearlo manualmanete, Route Resource no crea las rutas automaticamente, porque no sabe como has llamado a tus metodos
-
Juan Carlos Lopez hace 5 meses
Muchas gracias, lo hare como dices.
-
-
Hector Bances hace 6 meses
se agradece
-
Jesus Parra hace 1 año
excelente
-
Sergio ┏(-_-)┛┗(-_- )┓┗(-_-)┛ hace 1 año
Para la version 10 de Laravel, si queremos "traducir" las rutas generadas con resource, vamos al archivo app/Providers/RouteServiceProvider.php y agregamos:
Route::resourceVerbs([ 'create' => 'crear', 'edit' => 'editar', ]);
Dentro del método boot()
Y no hay necesidad ya de agregar:
use Illuminate\Support\Facades\Route;
Nota: Ya no es el archivo app\Providers\AppServiceProvider.php sino más bien el archivo app/Providers/RouteServiceProvider.php es el que hay que modificar.
-
Carlos Romero hace 1 año
Desconozco en que versión sucede lo que comentas pero yo uso Laravel 10 y si es el archivo “app\Providers\AppServiceProvider.php”
-
-
Martzdev hace 1 año
Brutal
-
Walter hace 2 años
? Hasta el momento hemos generado siete rutas para nuestro CRUD de cursos. Laravel nos brinda una forma de sustituir esas líneas por una sola:
Route::resource('cursos', CursoController::class);
Vemos las rutas generadas ejecutando:
php artisan r:l
que es equivalente a:
php artisan route:list
Si queremos "traducir" las rutas generadas con resource, vamos a app\Providers\AppServiceProvider.php y agregamos:
use Illuminate\Support\Facades\Route;
Y dentro del método boot():
Route::resourceVerbs([ 'create' => 'crear', 'edit' => 'editar' ]);
Si queremos cambiar la URL pero manteniendo el nombre de las rutas:
Route::resource('asignaturas', CursoController::class)->name('cursos');
Ahora el nombre de las variables usarán 'asignatura' y para cambiar esto:
Route::resource('asignaturas', CursoController::class) ->parameters('asignaturas' => 'curso') ->name('cursos');
-
Adrian Linares hace 3 semanas
Route::resource('asignaturas', CursoController::class)
->parameters(['asignaturas' => 'curso'])
->names('cursos');
-