Cómo crear un crud en Laravel 5.5 desde cero

Hola que tal, bienvenido a este nuevo artículo en donde aprenderás cómo crear un crud en Laravel 5.5 desde cero, este es un articulo que por así decirlo es una continuación del artículo Cómo instalar y configurar Laravel 5.5 y lo que vamos hacer es básicamente crear las opciones de crear, leer, actualizar y eliminar que son las opciones básicas que tiene una tabla, para esto usaremos Laravel que es un Framework para PHP que como se verá a continuación nos ayuda y nos abstrae la creación de un motón de código simplemente con usar comandos vía consola.

Instalación de Laravel vía composer

Previamente debemos tener instalado XAMPP y en la ubicación C:\xampp\htdocs abrimos una ventana de comandos e instalamos usando el siguientes comando:

Como te darás cuenta dependiendo la velocidad de tu conexión a internet esto puede o no tardar mucho.

Bien, ahora que ya tenemos creado el proyecto lo primero que vamos hacer es cambiar la configuración para la base de datos, usuario y clave, si aún no lo has hecho puedes ver el artículo anterior Cómo instalar y configurar Laravel 5.5 donde explico como hacerlo. El nombre de la base de datos le llamaremos del mismo nombre del proyecto crudlaravel, posteriormente deberás crear la base de datos en MySQL.

Creación de Migraciones

El tema de migraciones en Laravel tiene que ver con el diseño de tablas de nuestra base de datos, y aunque podemos directamente crear nuestra tabla en MySQL crear el controlador y el modelo, lo vamos hacer usando migraciones, cual es la diferencia? Pues la diferencia es que usando migraciones diseñas las tablas como si de modelos se tratarán y luego las puedes generar a MySQL con un sólo comando, además puedes llevar la cronología de la creación de tus tablas y si algo salió mal, por ejemplo te olvidaste de crear un campo, fácilmente haces un rollback y deshaces los cambios. Pero bueno para que se entienda mejor vamos al ejemplo.

icon
icon

La tabla que vamos a crear para el ejemplo se va llamar Libros y contendrá los campos: nombre, resumen, número de páginas, edición, autor y precio.

Para crear la tabla creamos un archivo de migración, para esto vamos a la ventana de comandos abierta anteriormente y usamos el siguiente comando:

Si te das cuenta ahora se creó un nuevo archivo dentro de la carpeta database->migratios 2018_01_26_035203_create_libros_table.php.

Es una clase que hereda de la clase Migration, en esta clase definimos los campos que va contener la tabla Libros, en esta clase hay dos métodos dow que se llama cuando ejecutamos un rollback y up que es donde crearemos los campos para nuestra tabla, el archivo debe quedar como se muestra a continuación:

Ahora lo que nos queda es ejecutar la migración, esto para que se cree nuestra tabla libros, para esto ejecutamos el siguiente comando:

Lo que nos queda es revisar la tabla libros, para esto puedes usar phpMyadmin o si usas MySQL Workbeanch puedes ver que efectivamente se creó la tabla libros junto con otras adicionales.

Bien, como te mencionaba en ciertos casos pueda que que quieras añadir algún campo a alguna tabla que ya está creada, simplemente puedes hacer un rollback, lo que hace en este caso es eliminar las tablas creadas con las migraciones, la base de datos queda vacía sin ninguna tabla, puedes probar el siguiente comando y verás que pasa:

Si de nuevo revisas la base de datos te darás cuenta que la base de datos volvió a su estado inicial y como este comando era sólo para probar, debes volver a generar el comando migrate para crear la tabla libros.

Crear el modelo

Ahora que y tenemos la tabla creada, necesitamos un modelo que mapee los campos a la tabla libros y para esto usamos el comando:

Si vas a la carpeta app del proyecto vas a encontrar un nuevo archivo llamado Libro.php, como te darás cuenta es una clase vacía y en teoría deberíamos crear las propiedades, los setter y getter, pero con la ayuda de Laravel sólo creamos un array $fillable y le pasamos los campos que queremos llenar, así de fácil como se muestra a continuación:

Crear el Controller

Laravel es un Framework que usa el patrón MVC (Modelo, Vista, Controlador), por lo que ahora tenemos que crear el controlador con los métodos index, show, update, delete.

Como te habrás dado cuenta hasta ahora hemos generado todo básicamente a través de comandos y bueno esta vez no es la excepción, así que para crear el controlador usamos el siguiente comando:

Si ahora vas a la carpeta app/Http/Controllers puedes ver que se generó un nuevo archivo VideoController.php y como por arte de magia se crearon todos los métodos que necesitamos, a continuación dejo el código para cada uno de los métodos, que como te darás cuenta es corto y sencillo, puesto que el framework prácticamente hace todo por nosotros.

Crear las rutas

Una ruta en Laravel indica a que método del controlador debe direccionar una petición por ejemplo cuando queramos crear un nuevo libro, editar etc., para esto vamos a la carpeta routes y al archivo web.php el cual debe quedar como sigue:

Crear las vistas

Finalmente lo que vamos hacer es crear las vistas, para mostrar, editar y eliminar libros, para esto vamos a  /resources/views/ y creamos una nueva carpeta llamada layouts y dentro de esta carpeta creamos el archivo layout.blade.php, este archivo tiene la plantilla del proyecto, es importante mencionar que Laravel usa el motor de plantillas blade que junto con HTML permiten crear vistas más simples y limpias.

icon
icon

Archivo index.blade.php

Posteriormente en la ruta /resources/views/ creamos una nueva carpeta llamada Libro que va contener las vistas (index, create, show, edit). Dentro de esta carpeta creamos el archivo index.blade.php como se muestra a continuación:

Archivo create.blade.php

Archivo edit.blade.php

Y bien como puedes ver que en cuestión de minutos puedes crear un CRUD con Laravel, a continuación dejo el enlace desde el repositorio de Github para que lo descargues Descarga Crud en Laravel desde Github. También puedes continuar revisando Cómo crear un servicio Api REST y consumirlo desde Android.

Nota: Para ejecutar el proyecto debes poner en tu navegador localhost/crudlaravel/libro y tener levantado el servidor (XAMPP, WAMP etc.)

Nos vemos en un próximo artículo hasta pronto!!

Opt In Image
Programación Web Full Stack
Suscríbete ahora y recibe los mejores contenidos sobre Programación Web en tu correo.

Tus datos estarán protegidos y 100% libre de Spam

Full Stack Developer, JavaScript, PHP, Java, Spring, Laravel, Vuejs, Blogger, aprendiendo y compartiendo conocimientos. Cursos de Programación Web en: https://programacionfullstack.com/

Artículos Recomendados

75 Thoughts to “Cómo crear un crud en Laravel 5.5 desde cero”

  1. Juan Carlos Toapanta

    Buenas tardes, he seguido paso a paso la guía, que esta muy buena, pero cuando quiero hacer correr no obtengo nada en el navegador (la url localhost:8000), solo una página en blanco que dice: “Sorry, the page you are looking for could not be found.”

    1. Elivar Largo

      Hola Juan Carlos, revisa si tienes levantado el servicio de apache y debes apuntar en la URL a localhost/tuproyecto/public

  2. Juan Carlos Toapanta

    Muchas Gracias por responder, si probé de las dos formas la que indique anteriormente y la que acabas de sugerir…La verdad soy nuevo en Laravel y no se si falta algo, pero no me funciona xampp esta levantado…Podrías darme una luz…gracias de antemano.

    1. Elivar Largo

      Debe ser por la ruta que no la encuentra directamente con public, ya que en el archivo routing apunta a libro, prueba apuntando en la url a http://localhost/crudlaravel/public/libro

      1. Dallan

        Hola, en web.php como debe ingresar el codigo:

        Desde un inicio figura lo siguiente:
        Route::get(‘/’, function () {
        return view(‘welcome’);
        });

        No carga la pagina inicial, a que se debe?

        1. Elivar Largo

          En el archivo web.php solo debe quedar la ruta que apunta al controlador, en el tutorial está como debe quedar el archivo web.php

  3. Juan Carlos Toapanta

    Gracias por tu respuesta, ahora me sale u nuevo error, me indica que no existe la variable libros:

    Así se muestra el error:
    ErrorException (E_ERROR)
    Undefined variable: libros (View: C:\xampp\htdocs\crudlaravel\resources\views\libro\index.blade.php)

    Donde declaro la variable??

    1. Elivar Largo

      Debes haber obviado algún paso, tendrías que revisar de nuevo a ver si algo no hiciste, puedes descargar el proyecto desde git de pronto te sirva https://github.com/elivarl/Crud-Laravel-5.5. Saludos

  4. Juan Carlos Toapanta

    Gracias por responder, te comento que he cargado el proyecto de github y tiene el mismo error, volví a hacer el proyecto con tu tutorial siguendo paso a paso, pero sigue igual, podrías revisarlo y ayudarme a encontrar el error?quiero verlo funcionar y nada que lo puedo hacer…Disculpa las molestias…

    1. Elivar Largo

      EL código de github si está bien. En el blog hay un error en LibroController en el método index es $libros y no $libro, así mismo se debe poner compact(‘libros’) y no libro como estaba, eso también ya está corregido el error en el blog, espero te solucione al problema

  5. Juan Carlos Toapanta

    Muchas gracias por tu ayuda, con los últimos cambios sugeridos ya me mostró la pagina index, si tengo alguna otra novedad te molestaré…Repito ha sido un excelente tutorial…

    1. Dallan

      Con que link llegaste a ingresar?
      http://localhost/laracrud/public/ o http://localhost/laracrud/libro
      ambas no funcionan =(

  6. Juan Carlos Toapanta

    Me surgió un nuevo problema, cuando guardo algo o quiero eliminar, me arroja un error:

    Route [Libro.index] not defined.

    Podrías ayudarme?

    1. Elivar Largo

      Revisa las funciones del controller debes estar llamando a la ruta con el nombre de libro en mayúscula, son errores propios de tu controller

  7. Juan Carlos Toapanta

    Te agradezco por tu tiempo, efectivamente funcionó con todas tus observaciones y modificaciones sugeridas…Podrías ayudarme con tu correo electrónico y/o tu número de whapp para estar en contacto?

    1. Elivar Largo

      Me alegro mucho que te haya funcionado, claro aquí puedes encontrar mi correo Acerca

  8. Christian

    Excelente Tutorial !!

    Vas directo al punto, sin rodeos! Habia visto otros tutoriales y son buenos pero son muuuuy extensos.
    Además entendí unos puntos que no había comprendido del todo en otros tutoriales.

    Felicidades y gracias por compartir tu conocimiento !

    1. Elivar Largo

      Gracias por leerme Christian. Saludos

  9. Jorge

    Que buena guía.. simplemente excelente. por estos días he estado leyendo en varias fuentes y solo aquí he encontrado lo que buscaba. Lo felicito hermano.

    1. Elivar Largo

      Gracias Jorge, me alegro que te haya sido de ayuda. Saludos

  10. Gustavo

    Hola.
    Cuando en la línea de comandos ejecuto el comando “php artisan migrate” sale lo siguiente…:

    C:\Apache24\htdocs\laracrud>php artisan migrate

    Illuminate\Database\QueryException : could not find driver (SQL: select * from information_schema.tables where table_schema = crudlaravel and table_name = migrations)

    at C:\Apache24\htdocs\laracrud\vendor\laravel\framework\src\Illuminate\Database\Connection.php:664
    660| // If an exception occurs when attempting to run a query, we’ll format the error
    661| // message to include the bindings with SQL, which will make this exception a
    662| // lot more helpful to the developer instead of just the database’s errors.
    663| catch (Exception $e) {
    > 664| throw new QueryException(
    665| $query, $this->prepareBindings($bindings), $e
    666| );
    667| }
    668|

    Exception trace:

    1 PDOException::(“could not find driver”)
    C:\Apache24\htdocs\laracrud\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:68

    2 PDO::__construct(“mysql:host==localhost;port=3306;dbname=crudlaravel”, “root”, “3.14159l0t0”, [])
    C:\Apache24\htdocs\laracrud\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:68

    Please use the argument -v to see more details.

    1. Elivar Largo

      Hola Gustavo, la verdad no he tenido ese error, prueba habilitando la extensión pdo del archivo php.ini extension=php_pdo_mysql.dll (deja sin el punto y coma)

      1. Gustavo

        Gracias por la respuesta Elivar.
        Realicé lo indicado.
        Ahora al ejecutar el comando cambió el error…:

        C:\Apache24\htdocs\laracrud>php artisan migrate

        Illuminate\Database\QueryException : SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Host desconocido. (SQL: select * from information_schema.tables where table_schema = crudlaravel and table_name = migrations)

        at C:\Apache24\htdocs\laracrud\vendor\laravel\framework\src\Illuminate\Database\Connection.php:664
        660| // If an exception occurs when attempting to run a query, we’ll format the error
        661| // message to include the bindings with SQL, which will make this exception a
        662| // lot more helpful to the developer instead of just the database’s errors.
        663| catch (Exception $e) {
        > 664| throw new QueryException(
        665| $query, $this->prepareBindings($bindings), $e
        666| );
        667| }
        668|

        Exception trace:

        1 PDOException::(“PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Host desconocido. “)
        C:\Apache24\htdocs\laracrud\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:68

        2 PDO::__construct(“mysql:host==localhost;port=3306;dbname=crudlaravel”, “root”, “3.14159l0t0”, [])
        C:\Apache24\htdocs\laracrud\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:68

        Please use the argument -v to see more details.

        1. Elivar Largo

          Al parecer es por la conexión, revisa el archivo .env debe estar en la propiedad DB_HOST=localhost

        2. Lo que pasa amigo es que debes hacer algo antes de migrar…
          te vas a la ruta app/Providers y abres el archivo AppServiceProvider.php
          una vez abierto el archivo colocas esta linea: use Illuminate\Support\Facades\Schema;

          Posteriormente en el function boot() colocas lo siguiente:
          Schema::defaultStringLength(191);

          luego vuelve a ejecutar php artisan migrate; hay que tomar en cuenta que ya debes haber agregado tu base de datos al archivo de configuracion .env

          Saludos y Bendiciones

  11. julio

    en el librocontroller en la funcion edit mandas como parametro el id y dentro de la funcion $libro=libro::find($id); yo lo habia aprendido asi como lo haces. pero mira este ejemplo http://www.expertphp.in/article/laravel-5-5-crud-create-read-update-delete-example-from-scratch
    porque en la funcion edit manda un objeto, y no hace la busqueda $libro=libro::find($id); defrente manda a la vista. si en tu funcion no haces la busqueda sale error. x q a el no le sale error?

    1. Elivar Largo

      Probaste si funciona el código? podría funcionar si en href=”{{ route(‘members.edit’,$member->id) }}” enviara todo el objeto ($member), pero sólo está enviando el id y en método recoge un objeto function edit(Member $member). Sería bueno de probarlo a ver si funciona.

  12. Gustavo

    Muchas gracias Elivar.
    El error estaba en que en .env la propiedad estaba así:
    DB_HOST==localhost

    Es decir “sobraba” un “=”.
    Sigo adelante con el tutorial.
    Gracias.-

  13. Gustavo

    Hola Elivar.
    Disculpa porque te molesto nuevamente.
    Un nuevo error me muestra luego de que he modificado el archivo “2018_04_10_225148_create_libros_table.php” agregando los campos que tendrá la tabla.
    Ahora, cuando ejecuto el comando “php artisan migrate”, muestra el siguiente error:
    C:\Apache24\htdocs\laracrud>php artisan migrate

    Illuminate\Database\QueryException : SQLSTATE[HY000] [1049] Unknown database ‘crudlaravel’ (SQL: select * from information_schema.tables where table_schema = crudlaravel and table_name = migrations)

    at C:\Apache24\htdocs\laracrud\vendor\laravel\framework\src\Illuminate\Database\Connection.php:664
    660| // If an exception occurs when attempting to run a query, we’ll format the error
    661| // message to include the bindings with SQL, which will make this exception a
    662| // lot more helpful to the developer instead of just the database’s errors.
    663| catch (Exception $e) {
    > 664| throw new QueryException(
    665| $query, $this->prepareBindings($bindings), $e
    666| );
    667| }
    668|

    Exception trace:

    1 PDOException::(“SQLSTATE[HY000] [1049] Unknown database ‘crudlaravel'”)
    C:\Apache24\htdocs\laracrud\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:68

    2 PDO::__construct(“mysql:host=localhost;port=3306;dbname=crudlaravel”, “root”, “3.14159l0t0”, [])
    C:\Apache24\htdocs\laracrud\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:68

    Please use the argument -v to see more details.

  14. ken

    me muestra eso aun cuando segui todos los pasos

    Sorry, the page you are looking for could not be found.

    1. Elivar Largo

      Algo debes tener mal, alguna ruta o algo por el estilo, lo que te dice es que el recurso o página no ha sido encontrado.

  15. Roberto

    Elivar, muchas gracias por tu gran aporte!!!!
    Quisiera preguntarte sobre cómo controlar los valores límites para campos de tipo entero, de modo de evitar excepciones y caídas.

    Gracias.!!!!

    Roberto H.

    1. Disculpo por la tardanza, espero te sirva, lo puedes hacer a través de la vista usando atributos html min, max, length etc. o directamente en el controller, por ejemplo para validar un campo title podrías hacerlo de la siguiente manera: $validatedData = $request->validate([
      ‘title’ => ‘required|unique:posts|max:255’,
      ‘body’ => ‘required’,
      ]);
      En este caso el campo title debe ser obligatorio, debe ser campo único (no duplicado) y una longitud de 255 caracteres, puedes revisar la documentación de Laravel para mayor información: https://laravel.com/docs/5.5/validation#introduction

  16. Gustavo Marcos

    Hola Elivar. Soy Gustavo. muy bueno el tutorial. Lo pondré en practica. Gracias.

    1. Elivar Largo

      Hola Gustavo, espero que te sea de ayuda. Saludos

  17. Alonso Juárez

    hola, muy buen tutorial, pero tengo una duda, a mi no me muestra los mensajes de “registro creado/actualizado/eliminado satisfactoriamente” ¿a qué se puede deber?

    1. Elivar Largo

      Hola Alonso, es posible que tenga que ver con la versión del laravel o la versión de boostrap, cuando escribí el tutorial la versión por defecto al instalar era la 5.5, pero actualmente si pones el mismo comando de instalación obtendrás la versión 5.6.
      Prueba instalando con el siguiente comando las versión 5.5 de laravel: composer create-project laravel/laravel=5.5 nombreproyecto y crea de nuevo el crud. Saludos

  18. william

    Buen dia me esta dando el error in RouteCollection.php line 179, como lo puedo solucionar

    1. Elivar Largo

      Hola, cuál es el mensaje de error específicamente que te lanza?

  19. Juan

    Buenas tardes, muy bueno el tutorial, y muy clara explicacion, gracias por su tiempo para realizarlo.
    He seguido los pasos, ya cuando levanto la aplicacion, me sale un error, de Libro.index no found,
    este es llamado que tengo en el codigo ya tambie lo coloque en mayuscula y nada da el mismo error, si po favor puedes ayudarme.
    {
    //
    $libros=Libro::orderBy(‘id’,’DESC’)->paginate(3);
    return view(‘libro.index’,compact(‘libros’));
    }

    1. Elivar Largo

      Hola Juan, revisa que tengas creada la carpeta libro y que dentro se encuentre el archivo index, recuerda que la extensión debe ser .blade.php. Revisa que la carpeta libro esté dentro de la carpeta views, caso contrario no la va encontrar. Saludos

      1. Juan

        Si esta creada, la carpeta resouces la copie toda del repositorio del git.

      2. Juan

        A listo ya logre que funcionara, muchas gracias, (y), era la llamada eturn view(‘libro.index’,compact(‘libros’)); funciono con “Libro.index”

  20. Efrain

    Hola, tengo un problema. Al usar las redirecciones del las funciones create y edit en el controller, si lo hace, pero quita todos los estilos de Bootstrap. Solo pasa en los Formularios no en las Datatables. Y me parece raro ya que solo son redirecciones, espero responda, gracias.

    1. Elivar Largo

      Hola, puede ser que estás usando la versión 4 de boostrap pero con la sintaxis de boostrap 3.X y eso puede cambiar la forma de presentación. Saludos

  21. Heimys

    Saludos, usé los códigos publicados y no los de github, hay un error en el edit, en el autor me muestra el resumen, muchas gracias por tu ayuda.

    1. Elivar Largo

      Si es correcto lo que comentas, no se porqué en puesto el atributo resumen en vez del atributo autor del modelo, únicamente se debe cambiar el atributo resumen por autor. Gracias por la corrección. Saludos

  22. M&M

    Buenas tardes,
    He revisado todos los pasos y me sale esto “Sorry, the page you are looking for could not be found.”,
    Quien me pueda ayudar muchas gracias.

  23. MYM

    Buenas tardes.
    Tengo este inconveniente “Sorry, the page you are looking for could not be found.” Hice el paso a paso.
    Si me pueden ayudar muchas .

  24. Reicor Reicore

    Muchas gracias amigo, excelente tutorial

  25. Julio

    Elivar, antes que nada, felicitarte y agradecerte. Muy bueno este paso a paso.

    Pero no me estaria mostrando nada, me podes dar una mano u orientarme?
    Gracias!
    #########################3
    /home
    /jbarbaga
    /gestion
    /crudlaravel
    /app
    /Http
    /Controllers
    /LibroController.php

    paginate(3);
    return view(‘Libro.index’,compact(‘libros’));
    }

    /**
    * Show the form for creating a new resource.
    *
    * @return \Illuminate\Http\Response
    */
    public function create()
    {
    return view(‘Libro.create’);
    }

    /**
    * Store a newly created resource in storage.
    *
    * @param \Illuminate\Http\Request $request
    * @return \Illuminate\Http\Response
    */
    public function store(Request $request)
    {
    $this->validate($request,[ ‘nombre’=>’required’, ‘resumen’=>’required’, ‘npagina’=>’required’, ‘edicion’=>’required’, ‘autor’=>’required’, ‘npagina’=>’required’, ‘precio’=>’required’]);
    Libro::create($request->all());
    return redirect()->route(‘libro.index’)->with(‘success’,’Registro creado satisfactoriamente’);

    Arguments

    “Class ‘App\Http\Controllers\Libro’ not found”

    1. Elivar Largo

      Hola Julio, revisa que tengas creado el modelo Libro y esté añadido en el controlador LibroController de la siguiente manera use App\Libro;

  26. Julio

    Elivar,
    Principalmente agradecerte por este paso a paso, gracias!
    Lo seguí tal cual lo publicaste, pero a la hora de ejecutarlo, no consigo ver nada, no estoy entendiendo por donde viene el problema, podrías orientarme? Desde ya, muchas gracias.
    #####
    /home
    /jbarbaga
    /gestion
    /crudlaravel
    /app
    /Http
    /Controllers
    /LibroController.php

    paginate(3);
    return view(‘Libro.index’,compact(‘libros’));
    }

    /**
    * Show the form for creating a new resource.
    *
    * @return \Illuminate\Http\Response
    */
    public function create()
    {
    return view(‘Libro.create’);
    }

    /**
    * Store a newly created resource in storage.
    *
    * @param \Illuminate\Http\Request $request
    * @return \Illuminate\Http\Response
    */
    public function store(Request $request)
    {
    $this->validate($request,[ ‘nombre’=>’required’, ‘resumen’=>’required’, ‘npagina’=>’required’, ‘edicion’=>’required’, ‘autor’=>’required’, ‘npagina’=>’required’, ‘precio’=>’required’]);
    Libro::create($request->all());
    return redirect()->route(‘libro.index’)->with(‘success’,’Registro creado satisfactoriamente’);

    Arguments

    “Class ‘App\Http\Controllers\Libro’ not found”

  27. Julio

    Muchas gracias, por tu ayuda y pronta respuesta, agregué use App\Libro; a mi LibroController.php, si bien ahora no tengo el error que tenia, de hecho, no me muestra ningún error, solo la pagina en blanco.
    Alguna idea que puedas darme en este punto?
    O deberia bajar todo el proyecto entero desde GitHub?
    Nuevamente, gracias @Elivar

  28. Julio

    Yo de nuevo. Pude avanzar descargando el codigo.
    Ahora bien, esta todo funcionando, me muestra los Libros, puedo agregar, puedo eliminar, pero no puedo editar y no entiendo porque, alguna idea?
    Gracias.
    /home
    /jbarbaga
    /gestion
    /crudlaravel
    /vendor
    /laravel
    /framework
    /src
    /Illuminate
    /View
    /FileViewFinder.php

    /**
    * Find the given view in the list of paths.
    *
    * @param string $name
    * @param array $paths
    * @return string
    *
    * @throws \InvalidArgumentException
    */
    protected function findInPaths($name, $paths)
    {
    foreach ((array) $paths as $path) {
    foreach ($this->getPossibleViewFiles($name) as $file) {
    if ($this->files->exists($viewPath = $path.’/’.$file)) {
    return $viewPath;
    }
    }
    }

    throw new InvalidArgumentException(“View [$name] not found.”);
    }

    /**
    * Get an array of possible view files.
    *
    * @param string $name
    * @return array
    */
    protected function getPossibleViewFiles($name)
    {
    return array_map(function ($extension) use ($name) {
    return str_replace(‘.’, ‘/’, $name).’.’.$extension;
    }, $this->extensions);
    }

    /**
    * Add a location to the finder.
    *
    * @param string $location
    * @return void

    Arguments

    “View [libro.edit] not found.”

    1. Elivar Largo

      “View [libro.edit] not found.”, El error te dice que no encuentra la vista edit.blade.php, asegúrate de tener la vista dentro del directorio Libro. Saludos

      1. Julio

        Elivar, buenas, que tal? Gracias por seguir con mis dudas. Si imagine que el error iba por ese lado, pero, mira te dejo un ls -l y pwd de mi maquina.

        jbarbaga@M1:~/gestion/crudlaravel/resources/views$ ll Libro/
        total 20
        drwxr-xr-x 2 jbarbaga jbarbaga 4096 feb 23 01:12 ./
        drwxr-xr-x 4 jbarbaga jbarbaga 4096 feb 23 01:12 ../
        -rw-r–r– 1 jbarbaga jbarbaga 2461 feb 23 01:12 create.blade.php
        -rw-r–r– 1 jbarbaga jbarbaga 2556 feb 23 01:12 edit.blade.php
        -rw-r–r– 1 jbarbaga jbarbaga 2146 feb 23 01:12 index.blade.php
        jbarbaga@M1:~/gestion/crudlaravel/resources/views$ ll layouts/
        total 12
        drwxr-xr-x 2 jbarbaga jbarbaga 4096 feb 23 01:12 ./
        drwxr-xr-x 4 jbarbaga jbarbaga 4096 feb 23 01:12 ../
        -rw-r–r– 1 jbarbaga jbarbaga 544 feb 23 01:12 layout.blade.php
        jbarbaga@M1:~/gestion/crudlaravel/resources/views$ pwd
        /home/jbarbaga/gestion/crudlaravel/resources/views
        jbarbaga@M1:~/gestion/crudlaravel/resources/views$

        De nuevo, muy agradecido por tu seguimiento, si te das una idea y me podes orientar, seria buenisimo.
        Gracias y saludos!

  29. Francisco suarez

    favor tu ayuda

    ¡Objeto no localizado!
    No se ha localizado la URL solicitada en este servidor. Si usted ha introducido la URL manualmente, por favor revise su ortografía e inténtelo de nuevo.

    Si usted cree que esto es un error del servidor, por favor comuníqueselo al administrador del portal.

    Error 404
    localhost
    Apache/2.4.33 (Win32) OpenSSL/1.1.0h PHP/7.2.5

    1. No se en que lugar te da ese error, de todas formas revisa que tus rutas o vistas estén con el mismo nombre que las llamas en los controladores.

  30. Noe Cervantes

    Que tal, buena tarde

    Disculpa tengo todos los pasos tal cual y hasta abro tu archivo que subiste a GitHub pero me aparece “Sorry, the page you are looking for could not be found. ” en el navegador… me podrías ayudar por favor.

    De ante mano gracias y excelente tarde. Saludos.

    1. Hola Noe Cervantes, poniendo la url como sigue te debería cargar el proyecto: http://localhost/crudlaravel/public/libro, si cambiaste el nombre del proyecto deberías poner tu nombre de proyecto. Saludos

  31. Carlos I

    Tengo problemas al eliminar, no importa qué registro selecciones del catálogo en el index, siempre me elimina el que está de primero

    1. Si seguiste paso a paso el tutorial no debería darte problemas. De todas maneras asegúrate que en el botón de eliminar este como parámetro el id del objeto o registro que quieres eliminar.

  32. Jpcqaa

    Muy buen tutorial, quería comentarte que e estado siguiendo los pasos con mi propio proyecto la única diferencia es que e agregado campos adicionales y e cambiado el nombre de algunas variables al comienzo me salían algunos errores que a otros también les salían como el primer caso donde no se visualizaba el index cuando por fin lo solucione me salieron algunos errores de sintaxis que solucione despues de un rato peleando con mi código, ahora no me muestra errores pero sorpresa sorpresa me muestra la pantalla en blanco >.< alguna idea sobre que podría hacer para que poder visualizar el index ?

    1. Me alegra mucho que te ayude en algo, puede ser porque estás accediendo a algún atributo de forma diferente de como está en el modelo, por ejemplo digamos que en tu modelo tienes al atributo con el nombre de suma y en la vista accedes como sumas o en el pero de los casos puede que estés accediendo algún atributo que no está en tu modelo, puede que por ahí vaya el error. Saludos

  33. t

    tengo un problema aqui:

    Fatal error: Class ‘Illuminate\Database\Eloquent\Model’ not found in C:\wamp64\www\crudlaravel\app\Libro.php on line 7

    revise el tutorial lo volvi a hacer, y el error persiste si me pudieras ayudar lo agradeceria mucho, gracias

    1. Revisa que en la clase Modelo Libro, antes de iniciar la clase esté añadido el directorio donde se encuentra la clase base Model, deberías tener algo así:

      use Illuminate\Database\Eloquent\Model;

  34. Cristian Stanganelli

    excelente tutorial!!!! .
    me tira el siguiente error

    (1/1) FatalErrorException
    Class ‘App\Http\Controllers\Libro’ not found

    in LibroController.php line 16

    1. Gracias Cristian, revisa que tengas añadido el modelo en el Controllador, por lo general deberías tener está linea al inicio del controlador: App\Libro;

  35. jose

    Buenas
    Muy buen aporte , una consulta al realizar el proceso para editar muestra el siguiente error

    “Undefined variable: libro (View: C:\xampp\htdocs\crudlaravel\resources\views\Libro\edit.blade.php)”
    Codigo :
    <form method="POST" action="id)); ?>” role=”form”>

    1. Hola, revisa que en el controller en el método edit envíes el objeto libro a la vista edit.blade.php

  36. JOSE STALYN TANDAZO LUNA

    muchas gracias ya verifique y el error era que estabas devolviendo el objeto “libros” y en el editblade estas llamando a “libro”

    Muchas gracias
    Saludos

    1. Ismael Largo

      Me alegro mucho JOSE STALYN TANDAZO LUNA, Saludos

  37. Luis Fernando Pérez Peregrino

    No me funciona al actualizar registros

    1. Te debería funcionar, revisa si está bien tu código

Dejar un Comentario