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.
4 comentarios
Inicia sesión para comentar
Comentarios:
-
Jesus Parra hace 5 meses
excelente
-
Sergio S. S. ┏(-_-)┛┗(-_- )┓┗(-_-)┛ hace 7 meses
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 5 meses
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 9 meses
Brutal
-
Walter hace 1 año
? 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');