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

    Jesus Parra hace 6 meses

    excelente

  • Sergio S. S. ┏(-_-)┛┗(-_- )┓┗(-_-)┛

    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 6 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

    Martzdev hace 10 meses

    Brutal

  • Walter

    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');